導航:首頁 > 文件處理 > pgbase文件夾存的是什麼

pgbase文件夾存的是什麼

發布時間:2023-01-15 04:02:30

❶ postgres db文件在哪

這個也是從 oid2name 中扒出來的:

[postgres@localhost bin]$ ./oid2name -d postgres
From database "postgres":
now:
SELECT pg_catalog.pg_relation_filenode(c.oid) as "Filenode", relname as "Table Name" FROM pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace LEFT JOIN pg_catalog.pg_database d ON d.datname = pg_catalog.current_database(),pg_catalog.pg_tablespace t WHERE relkind IN ('r') AND n.nspname NOT IN ('pg_catalog', 'information_schema') AND n.nspname !~ '^pg_toast' AND t.oid = CASE WHEN reltablespace <> 0 THEN reltablespace ELSE dattablespace END ORDER BY relname
Filenode Table Name

❷ pcpg文件夾在哪

pcpg文件夾在設置中存儲設備里,打開存儲設備就看到了,很好找的

android手機內存卡中的文件夾分別代表什麼軟體

SD卡中的文件夾,基本上都是系統軟體和第三方軟體的數據存儲的地方。一般看文件夾名稱就能看出是屬於哪個軟體的。比如tencent,就是騰訊的英文名,自然就是QQ和微信的數據所在地。微信傳送的圖片什麼的,都在這里。

另外,常見的文件夾名稱及其作用如下:
一、系統數據類——系統文件存儲相關文件夾

1、.android_secure:官方app2sd的產物,存儲了相關的軟體使用認證驗證,刪除之後SD卡中的軟體將無法使用。
2、Android:存放重要的程序數據,比如google:map的地圖緩存,誤刪掉後地圖還需重新下載。
3、backups:包含重要的備份文件,比如聯系人導出到SD卡會導入到此文件夾。
4、bugtogo:系統出現問題的時候會形成一些報告文件,存放在此文件夾。
5、data:緩存數據文件夾,與Android類似。例如,「截圖助手」截圖保存在datacom.edwardkim.android.screenshotitfullscreenshots里。
6、LOST.DIR:卡上丟失或出錯的文件會移動到這里,此目錄刪了會自動生成。
7、SystemAppBackup:SystemAppremove(深度卸載)備份系統文件後,備份文件保存的目錄。
8、bugreports:升級系統或刷機,系統和程序發生兼容錯誤報告列表(包括內存使用全部內容)將保存在這個文件,重起機器可以刪除。
9、.keepsafe:隱藏類的軟體、加密保存文件地址存放於此。
10、.thumbs:瀏覽或使用某一軟體,以及使用某一文件夾後用於記錄次數和內容的文件,隨機產生,需要定期不斷清除,長時間不清理會大量佔用儲存卡的有效空間。
11、openfeint:打開聯接網路後的一個啟動程序,它廣泛植入移動類平台發布的軟體或游戲,是更新下載或評論反饋信息的記錄地址,可刪除。
12、com:播放類軟體在收看播放影視節目生成的文件將存放於此,可以對製作方反映回饋信息,可以刪除。
13、Download(download):大寫字母的是網路聯接下載文件目錄,小寫字母的是手機自身(藍牙,近場等)存放下載傳輸文件,不要誤刪。

二、系統工具類——系統自帶工具相關文件夾
1、albumart:音樂專輯封面的緩存文件夾。
2、albums:相冊縮略圖的緩存文件夾。
3、cmp:音樂的緩存文件夾。
4、Playlists:播放列表的緩存文件夾。
5、DCIM:相機隨機緩存文件夾,記錄功能設置的參數,需要及時清理。一些第三方相機軟體拍出的相片也會保存在這里,比如360或暈影相機等。
6、VPN:VPN數據的緩存目錄。
7、Mydocuments:手機啟用各種程序任務記錄的文檔,需要定期清除,長時間不清理會佔用SD卡較大內存。
8、.nomedia:手機中隱藏的音頻、圖片文件夾都會在這里顯示,可以自設在相關文件夾中。
9、media:使用電話通話錄音軟體或在線瀏覽視頻等媒體產生的音頻文件記錄存檔將保存在此。
10、.medieval_software:啟用藍牙傳輸軟體時,記錄任務保存文件的目錄。
11、extracted:解壓縮軟體默認的解壓目錄。

三、第三方應用類
1、.mobo:Moboplayer的緩存文件。
2、.QQ:QQ的緩存文件,需要定期清除。
3、.quickoffice:quickoffice的緩存文件。
4、.switchpro:switchprowidget(多鍵開關應用)的緩存文件。
5、.ucdlres:UC迅雷的緩存文件。
6、:掌上網路、網路輸入法之類程序的緩存文件夾。
7、etouch:易行的緩存文件夾。
8、documents:DocumentsToGo的相關文件夾。
9、gameloft:gameloft游戲數據包存放的文件夾。
10、handcent:handcent(超級簡訊)數據文件夾。
11、handyCurrency:貨幣匯率相關的文件夾,裝了handycalc(科學計算器)之後才會有。
12、ireader:ireader的緩存文件夾。
13、KingReader:開卷有益的緩存文件夾:下載的文件和應用都在這兒:刪除時留意看清
14、LazyList:Applanet的緩存目錄,慎重使用。
15、moji:墨跡天氣的緩存目錄。
16、MusicFolders:poweramp產生的緩存文件夾。
17、openfeint:openfeint的緩存文件夾。
18、Picstore:圖片瀏覽軟體建立的一個目錄。
19、renren:人人網客戶端的緩存文件夾。
20、screenshot:截屏圖片保存的目錄。
21、ShootMe:shootme截屏後圖片文件保存的目錄。
22、SmartpixGames:SmartpixGames出品游戲的緩存文件夾,比如Jewellust。
23、sogou:搜狗拼音輸入法的隨機緩存文件夾,可以刪除。
24、SpeedSoftware:RE文件管理器的緩存文件夾。
25、TalkingFriends:talkingtom(會說話的tom貓)錄制的視頻文件所保存的目錄。
26、Tencent:騰訊軟體的緩存目錄,比如QQ。(與上面的.QQ文件夾並不相同)
27、TitaniumBackup:鈦備份備份的程序所保存的目錄。
28、TunnyBrowser:感覺是海豚瀏覽器的緩存目錄,但為什麼叫這個名字?金槍魚瀏覽器...。.
29、UCDLFiles:UC迅雷下載文件的保存目錄。
30、UCDownloads:UC瀏覽器下載文件緩存的保存目錄。
31、VIE:Vignette(暈影相機)的緩存目錄。
32、yd_historys:有道詞典搜索歷史的緩存目錄
33、yd_speech:有道詞典單詞發音的緩存目錄。
34、youmicache:刪掉後還會自動生成,悠米廣告的緩存目錄,廣告程序內嵌在其程序中。
35、Glu:Glu系列游戲的資料包存放地,如3D獵鹿人,勇猛二兄弟等。
36、apadqq-images:QQforpad的緩存目錄。
37、DunDef:地牢守護者的數據包。
38、KuwoMusic:酷我音樂的相關文件夾。
39、MxBrowser:遨遊的緩存目錄。
40、Camera360:相機camera360的隨機緩存目錄,可以定期清除。
41、TTPod:天天動聽的緩存目錄。
42、downloaded:刷了MIUI,升級後的ZIP刷機包,保存在downloaded_rom里。
43、.estrongs:當你使用了ES文件管理器解壓文件,會有這個緩存記錄。它反映使用進程,可以刪除。
44、silentR:用了後台錄音軟體,自生的音頻文件夾,子文件夾phoneCalls,定期管理清除
45、3D-compass:這是使用實景指南針軟體,生成的景象圖片(圖像和數字比較詳細)文件夾,可以清除。
46、PDF:可移植文檔格式,Pdf閱讀器存儲文件夾。
47、Zidanyou:是字典的詞庫文件儲存,刪除了要重新下載詞庫。
48、Callrecords:採用第三方強制雙向錄音軟體(手機未root),音頻文件保存。
49、VPlayerPro:是MOBO等視頻播放器使用後的記錄定期刪除。
50、BeWeather(Videos):是氣象類軟體(如黑莓天氣.。.等)附加下載音頻或動畫圖標的儲存地址,刪除了會無圖無聲顯示。
51、thumbnails:用第三方播放器觀看手持移動類視頻媒體時,存放點擊暫停、隨機截圖以及文件儲存時產生的內容。
52、iQuran(meta2):可蘭經瀏覽文本和音頻的儲存文件。
53、Autodesk:手機系統自帶存儲器命令生成文件夾:儲存圖像或編寫文稿,可以查看、備份或者刪除。
54、PixlrOMatic:後期特效處理圖片軟體Pixlo,儲存文件夾,打開可以預覽看效果。
55、mapbar:圖吧導航地圖存放文件,有必須主文件和不同地區具體地圖,主文件刪掉要重下!
56、antTTS:是使用了高德導航選擇語音種類導航、語種的下載地址,刪掉了語音提示會丟失。
57、kingsoft:金山詞霸專用文件夾下載儲存詞庫、更新拓展文匯(官方發布修正補充)。
58、NightVisionCamera:夜間拍照相機相片存放的地址。
59、DSA:電子狗專用夾,收錄各地區道路探頭監控位置信息,會定期更新。已測試配合高德、凱立德提前預警,效果不錯。
60、apexlauncher:尖端桌面啟動器文件夾,位置在andriod/data/,放置桌面設置備份bak文件。

❹ 請問C盤里的文件夾temp中有個文件是BASE.WIM是做什麼用的能不能刪除它太大了,有5個多G

WIM是英文Microsoft Windows Imaging Format(WIM)的簡稱,它是Windows基於文件的映像格式。WIM 映像格式並非現在相當常見的基於扇區的映像格式,它是基於文件的
---------------------------------------------
但是該文件在你的臨時文件夾下,應該是你自己操作某種軟體留下來的。

可能是你創建恢復光碟時留下的。
http://..com/question/66362059.html
------------------------------------
刪了不會對系統有影響。

❺ pg資料庫數據文件111代表什麼

僅供參考
所有資料庫對象都有各自的oid(object identifiers),oid是一個無符號的四位元組整數,相關對象的oid都存放在相關的system catalog表中,比如資料庫的oid和表的oid分別存放在pg_database,pg_class表中。
1、資料庫集群-Database cluster
2、資料庫-Database
3、表空間-tablespace
資料庫在邏輯上分成多個存儲單元,稱作表空間。表空間用作把邏輯上相關的結構放在一起。資料庫邏輯上是由一個或多個表空間組成。
新創建的資料庫默認創建下面的表空間:
1)Catalog表空間 存放系統表信息2)System表空間 存放用戶數據3)Temp表空間
4、模式-Schema
自動創建的系統模式如下:
1)PG_CATALOG2)PG_LARGEOBJECT3)PG_TOAST4)PG_PARTITION
默認的用戶模式PUBLIC。
5、段-segment
6、區-extent
7、塊-block
8、資料庫對象-Database object
1)模式對象表、索引、序列、大對象、視圖、函數、存儲過程、觸發器、包 … …2)非模式對象用戶、資料庫
9、數據表-Table
10、索引-Index
11、序列-Sequence
12、視圖-View
二、物理存儲結構
在執行initdb的時候會初始化一個目錄,通常我們都會在系統配置相關的環境變數$PGDATA來表示,初始化完成後,會再這個目錄生成相關的子目錄以及一些文件。在postgresql中,tablespace的概念並不同於其他關系型資料庫,這里一個tablespace對應的都是一個目錄。如下圖就是PG的物理結構:
.png
1、存儲系統主要包括三個部分:
內存中:buffer,MemoryContext;
數據文件,臨時文件;
日誌文件,日誌緩存。
2、文件和目錄相關作用描述:
.png
.png
3、數據文件結構
.png
3.1、頁
.png
將數據文件中的空間從邏輯上劃分成一個個頁面(數據塊)。頁面是資料庫I/O的基本單位,即只能整頁讀寫數據文件, 頁面的大小默認是8K。
頁面可以分成兩種:
1)數據頁面:數據頁面是用來存儲用戶數據的。
2)控制頁面:控制頁面用來管理這些數據頁面。
資料庫共享緩存中的空間劃分也是按頁為基本單位, 一個頁的大小與數據文件中頁的大小一致, 這樣便於整頁讀取數據文件,並放入到資料庫Buffer中, 從Buffer寫入數據文件也同理,保證了緩存與數據文件結構和內容上的一致性。
3.2、Block(塊)
概念上基本等同於Page, 但Block更多用於說明DMS中對數據文件中Page的描述。
例如: 對文件的讀寫的操作, 文件讀寫位置的定位, 數據文件空間回收等操作, 單位均是以塊進行。
數據塊的大小在系統初始化時指定,默認是8K,可以取值4K,8K,16K,32K。
3.3、Extent(區)
把數據文件中8個連續的Page構成的空間稱為一個Extent。Extent是資料庫進行數據文件空間分配/釋放的基本單位。每個表、索引、序列對象都是由若干個區組成。數據文件被創建後,除自動保留部分區作為控制區外,其他區全部處於未分配狀態。表、索引、序列對象的所有數據都存放在Extent中,當向這些Extent中插入數據時,若該Extent的所有頁面都已佔滿,系統就會自動在所屬表空間的數據文件中尋找一個尚未分配的區,並將其狀態修改為數據區。
3.4、控制頁面
用於空間管理的控制頁面:PFS/GAM/IAM。
用於增量備份的控制頁面:DCM。
判斷可見性的控制頁面:VM。
預留的控制頁面:BCM/SGAM。
3.5、PFS
Page Free Space,簡稱PFS頁.
用於記錄本數據文件中頁面的空間使用情況。對文件中的每個頁面,PFS中都有一個「位元組」與之對應,該位元組記錄了該頁面的狀態。
PFS頁前64bytes被預留為頁頭, 剩下81024-64=8128一共覆蓋81288K=64MB空間.
故PFS頁每隔8128個頁面出現一次, 系統初始化把第一個PFS頁放在數據文件的第二個頁面位置,即:第1號數據頁面, 由此可知,第N個PFS頁的位置在8128*N+1.
.png
3.6、GAM
Global Allocation Map,簡稱GAM頁。
功能:記錄所在數據文件的Extent的分配情況,GAM頁中除GAM頭外,剩下空間的每一位(bit)均對應一個Extent的分配情況。若某bit位為1,則表明該bit位所關聯的Extent已被分配出去,反之未被分配。
若一個GAM頁面大小為8K,則除GAM頭(64 bytes)外,一個GAM頁面所能覆蓋的文件范圍是: (81024-64)8(88K),約4GB空間。此外,GAM頁每隔881288個頁面出現一個,系統要求第一個GAM頁出現在文件的第3個頁面位置(即:第2個索引位置),由此得知,第N個GAM頁的出現位置是: 881288*N+2
.png
3.7、IAM
Index Allocation Map,簡稱IAM頁。
功能:每個IAM頁只隸屬於一個資料庫對象(例如:表),但一個資料庫對象可包含多個IAM頁,由此可見IAM頁與資料庫對象的關系是1對1,而資料庫對象與IAM頁的關系是1對多.
IAM的結構與GAM頁類似,除IAM頭外,剩下空間的每一位(bit)均對應著一個與IAM相關的Extent。若某bit位為1,則表明該bit位所關聯的Extent已被分配給該IAM,反之未被分配。若一個IAM頁面大小為8K,則除IAM頭(64 bytes)外,一個IAM頁面所能覆蓋的文件范圍是: (81024-64)8(88K),約4GB空間。
但與GAM也不同之處在於:IAM的出現位置不固定,只在在創建資料庫對象的時候才分配。
.png
三、邏輯與物理存儲關系
1、邏輯關系存在表空間;
2、表空間存在對應的數據文件中;
新創建的資料庫對應的數據文件的名稱:
Catalog表空間 – databasename.dbfSystem表空間 – Udatabasename.dbfTemp表空間-- Tdatabasename.dbf
前面加 「U」 前綴代表用戶數據表空間,用於保存用戶表的數據。
不帶 U 代表 是系統表的表空間,用於保存系統表的數據。
U 前綴的數據文件代表的表空間名為PG。
不帶U 的數據文件代表的表空間為 CATALOG。
四、資料庫文件、表空間、其他文件之間的關系
1、關系圖如下:
.png
說明:
1)每一個資料庫具有一個或多個數據文件,用戶存放資料庫的所有數據。
2)資料庫的數據文件有以下特徵:
一個資料庫文件只能與一個資料庫的一個表空間相連。
一個表空間可以由多個數據文件組成。
3)資料庫對象與文件關系:
資料庫對象放到表空間中。
表空間有多個數據文件。
表空間中有多個資料庫對象。
4)資料庫對象邏輯上是存儲在表空間中,物理上是存儲在與表空間相關聯的數據文件中。
2、資料庫包含的文件種類:
1)資料庫文件:data/DB
資料庫對象,如:資料庫、表,索引,序列等對象。
2)控制文件:data/CTL
用來記錄資料庫集群的狀態信息,如:版本信息、集群所管理的各種文件信息、檢查點信息、事務狀態信息等。
3)日誌文件:data/REDOLOG
記錄數據修改操作的日誌,用於系統發生故障時進行數據恢復。
4)臨時文件:data/DB
存放資料庫進行計算的過程中,生成的各種中間對象,如排序運算的外存歸並單元。
5)參數文件:data目錄下
五、Postgresql 底層存儲管理方式:
Postgresql的每個資料庫均存放在一個目錄中,以db_oid命名,該目錄中存放每個表對應的文件,文件名以該數據表對應的relfilenode_oid命名。當表中的數據量足夠大,導致表文件的大小大於1GB的時候,postgresql會自動創建新的文件用於存放新插入的數據。新文件的名稱為: relfilenode_iod.1, relfilenode_iod.2 等。使用該策略是為了防止在某些文件系統中,最大支持文件尺寸不能大於1GB的情形。
db_oid, relfilenode_oid可以從pg_class系統表中查詢得出。

❻ 這些WINDOWS文件夾保存的是什麼文件

按你所視圖片順序解釋:addins(系統附加文件夾,用來存放系統附加功能的文件)AppPatch(應用程序修補備份文件夾,用來存放應用程序的修補文件)Config(系統配置文件夾,用來存放系統的一些臨時配置的文件)Debug(系統調試文件夾,用來存放系統運行過程中調試模塊的日誌文件)Driver Cache(驅動緩存文件夾,用來存放系統已知硬體的驅動文件)Fonts (字體文件夾,用來存放系統將會用到的字體文件)Help (系統幫助文件夾)inf(用來存放INF文件,INF文件最常見的應用是為硬體設備提供驅動程序服務)L2Schemas (xp sp3新的主題文件夾)msagent(微軟助手文件夾,存放動態的卡通形象,協助更好地使用系統)Msapps (微軟應用程序文件夾。該目錄中的內容是由計算機中安裝的軟體決定的)Mui(多語言包文件夾,用來存放多國語言文件。簡體中文系統中這個文件夾默認是空的)
Network Diagnostic (網路診斷工具)PCHealth(用來存放協調、配置和管理計算機正常運行的文件)peernet (網路組件能夠為基於網路地址轉換(NAT)設備的點對點程序)provisioning (供給表示提供一個產品或服務) Resources(系統資源文件夾,存放系統SHELL資源文件,即桌面主題)security(系統安全文件夾,用來存放系統重要的數據文件)
system(系統文件夾,用來存放系統虛擬設備文件)system32(存放Windows的系統文件和硬體驅動程序)Temp(臨時文件目錄。在系統和軟體的運行過程中產生的臨時文件就存放在於此。)twain_32(掃描儀相關)Web (文件夾就是網路上的文件夾,就好象某些網站所提供的「網路硬碟」的功能一樣)WinSxS(存儲各個版本的Windows XP組件,減少因為DLL文件而引起的配置問題)Registration(注冊文件夾,用來存放用於系統COM+或者其他組件注冊的相關文件。)
srchasst(搜索助手文件夾,用來存放系統搜索助手文件,與msagent文件夾類似)tasks (「任務」文件夾包含待辦事項。)Downloaded Program Files(下載程序文件夾,用來存放擴展IE功能的ActiveX等插件)Offline Web Pages(離線瀏覽文件存放於此)Prefetch(預讀取文件夾,用來存放系統已訪問過的文件的預讀信息(此信息是系統在訪問時自動生成的新信息),以加快文件的訪問速度,其擴展名為「PF」。)
wbem(存放WMI測試程序,用於查看和更改公共信息模型類、實例和方法等)SoftwareDistribution (文件夾是用來存放Windows Update時的更新日誌及相關補丁下載的文件。)ie8updates (ie8瀏覽器升級文件夾)Registration(注冊文件夾,用來存放用於系統COM+或者其他組件注冊的相關文件。)
repair(系統修復文件夾,用來存放修復系統時所需的配置文件)
java(存放Java運行的組件及其程序文件。)
Media(聲音文件夾,開關機等wav文件存放於此)IME(用來存放系統輸入法文件,類似WINDOWS下的IME文件夾)open (開放文件夾,應為空)Cursors(滑鼠指針文件夾)

❼ GBase 8c 資料庫有沒有分區表

GBase 8c資料庫分區表信息都存儲在系統表pg_partitioned_table中,可以通過系統表數據實現。partstrat列可以看分區策略,」l」表示列表分區,」r」 表示範圍分區;partnatts 列查看分區鍵的列數。

❽ 當前文件夾內找不到base.dat

文件夾里找不到base的話,只能重新拷貝加入了。
在文件夾或在運行某軟體或編譯程序時提示缺少、找不到Base等類似提示,您可將從網上下載來的Base拷貝到指定目錄即可一般是system系統目錄或放到軟體同級目錄裡面,或者重新添加文件引用。
系統文件Base是存放在Windows系統文件夾中的重要文件,通常情況下是在安裝操作系統過程中自動創建的,對於系統正常運行來說至關重要。

❾ pgsql的主鍵存儲方式

PostgreSQL的穩定性極強,Innodb等索引在崩潰,斷電之類的災難場景下 抗擊打能力有了長足進步,然而很多 MqSQL用戶 都遇到過 Server級的資料庫丟失的場景 -- MySQL系統庫是 MyISAM,相比之下,PG資料庫這方面要更好一些。

任何系統都有它的性能極限,在高並發讀寫,負載逼近極限下,PG的性能指標仍可以位置雙曲線甚至對數曲線,到 頂峰之後不在下降,而MySQL明顯出現一個波峰後下滑(5.5版本 之後,在企業級版本中有個插件可以改善很多,不過需要付費)。

PG多年來在 GIS(地理信息)領域處於優勢地位,因為它有豐富的幾何類型,PG有大量字典,數組,bitmap等數據類型,相比之下 MySQL就差很多, Instagram就是因為 PG的空間資料庫 擴展 POSTGIS遠遠強於 MySQL的 my spatial 而採用 PgSQL的。

PG的「無鎖定」特性非常突出,甚至包括 vacuum這樣的整理數據空間的操作,這個和PGSQL的MVCC實現有關系。

PG可以使用函數 和 條件索引,這使得 PG資料庫的調優非常靈活, MySQL就沒有這個功能,條件索引在 web應用中 很重要。

PG有極其強悍的 SQL編程能力(9.x 圖靈完備,支持遞歸!),有非常豐富的統計函數和統計語法支持,比如分析函數(Oracle的叫法,PG里叫Window函數),還可以用多種語言來寫存儲過程,對於 R的支持也很好。這一點MySQL就差很多,很多分析功能都不支持,騰訊內部的存儲主要是 MySQL,但是數據分析主要是 Hadoop+ PgSQL。

PG的有多種集群架構可以選擇,plproxy可以之hi語句級的鏡像或分片,slony可以進行欄位級的同步配置,standby 可以構建 WAL文件級或流式的讀寫分離集群,同步頻率和集群策略調整方便。

一般關系型資料庫字元串有長度限制 8k 左右,無限長 TEXT類型的功能受限,只能作為外部大數據訪問。而 PG 的 TEXT 類型 可以直接訪問且無長度限制, SQL語法內置 正則表達式,可以索引,還可以全文檢索,或使用 xml xpath。用 PG的話,文檔資料庫都可以省了。

PgSQL對於 numa 架構的支持比 MySQL強一些,比 MySQL對於讀的性能更好一些, PgSQL提交可以完全非同步提交,而 MySQL的內存表不夠實用(因為表鎖的原因)。

pgsql除了存儲正常的數據類型外,還支持存儲
array,不管是一維數組還是多維數組均支持。
json和jsonb,相比使用 text存儲要高效很多。
json和 jsonb在更高的層面上看起來幾乎是一樣的,但是存儲實現上是不同的。
json存儲完的文本,json列會每次都解析存儲的值,它不支持索引,但 可以為創建表達式索引。
jsonb存儲的二進制格式,避免了重新解析數據結構。它支持索引,這意味著 可以不使用指定索引就能查詢任何路徑。
當我們比較寫入數據速度時,由於數據存儲 的方式的原因,jsonb會比 json 稍微的慢一點。json列會每次都 解析存儲的值,這意味著鍵的順序要和輸入的 時候一樣。但是 jsonb不同,以二進制格式存儲且不保證鍵的順序。因此如果有軟體需要依賴鍵的順序,jsonb可能不是最佳選擇。使用 jsonb的優勢還在於可以輕易的整合關系型數據和非關系型 數據 ,PostgreSQL對於 mongodb這類資料庫是一個不小的威脅,畢竟如果一個表中只有一列數據的類型是半結構化的,沒有必要為了遷就它而整個表的設計都採用 schemaless的結構。

1. CPU限制
PGSQL
沒有CPU核心數限制,有多少CPU核就用多少

MySQL
能用128核CPU,超過128核用不上
2. 配置文件參數
PGSQL
一共有255個參數,用到的大概是80個,參數比較穩定,用上個大版本配置文件也可以啟動當前大版本資料庫

MySQL
一共有707個參數,用到的大概是180個,參數不斷增加,就算小版本也會增加參數,大版本之間會有部分參數不兼容情況
3. 第三方工具依賴情況
PGSQL
只有高可用集群需要依靠第三方中間件,例如:patroni+etcd、repmgr

MySQL
大部分操作都要依靠percona公司的第三方工具(percona-toolkit,XtraBackup),工具命令太多,學習成本高,高可用集群也需要第三方中間件,官方MGR集群還沒成熟
4. 高可用主從復制底層原理
PGSQL
物理流復制,屬於物理復制,跟SQL Server鏡像/AlwaysOn一樣,嚴格一致,沒有任何可能導致不一致,性能和可靠性上,物理復制完勝邏輯復制,維護簡單

MySQL
主從復制,屬於邏輯復制,(sql_log_bin、binlog_format等參數設置不正確都會導致主從不一致)
大事務並行復制效率低,對於重要業務,需要依賴 percona-toolkit的pt-table-checksum和pt-table-sync工具定期比較和修復主從一致
主從復制出錯嚴重時候需要重搭主從
MySQL的邏輯復制並不阻止兩個不一致的資料庫建立復制關系
5. 從庫只讀狀態
PGSQL
系統自動設置從庫默認只讀,不需要人工介入,維護簡單

MySQL
從庫需要手動設置參數super_read_only=on,讓從庫設置為只讀,super_read_only參數有bug,鏈接:https://jiahao..com/s?id=1636644783594388753&wfr=spider&for=pc
6. 版本分支
PGSQL
只有社區版,沒有其他任何分支版本,PGSQL官方統一開發,統一維護,社區版有所有功能,不像SQL Server和MySQL有標准版、企業版、經典版、社區版、開發版、web版之分
國內外還有一些基於PGSQL做二次開發的資料庫廠商,例如:Enterprise DB、瀚高資料庫等等,當然這些只是二次開發並不算獨立分支

MySQL
由於歷史原因,分裂為三個分支版本,MariaDB分支、Percona分支 、Oracle官方分支,發展到目前為止各個分支基本互相不兼容
Oracle官方分支還有版本之分,分為標准版、企業版、經典版、社區版
7. SQL特性支持
PGSQL
SQL特性支持情況支持94種,SQL語法支持最完善,例如:支持公用表表達式(WITH查詢)

MySQL
SQL特性支持情況支持36種,SQL語法支持比較弱,例如:不支持公用表表達式(WITH查詢)

關於SQL特性支持情況的對比,可以參考:http://www.sql-workbench.net/dbms_comparison.html
8. 主從復制安全性
PGSQL
同步流復制、強同步(remote apply)、高安全,不會丟數據
PGSQL同步流復制:所有從庫宕機,主庫會罷工,主庫無法自動切換為非同步流復制(非同步模式),需要通過增加從庫數量來解決,一般生產環境至少有兩個從庫
手動解決:在PG主庫修改參數synchronous_standby_names ='',並執行命令: pgctl reload ,把主庫切換為非同步模式
主從數據完全一致是高可用切換的第一前提,所以PGSQL選擇主庫罷工也是可以理解

MySQL
增強半同步復制 ,mysql5.7版本增強半同步才能保證主從復制時候不丟數據
mysql5.7半同步復制相關參數:
參數rpl_semi_sync_master_wait_for_slave_count 等待至少多少個從庫接收到binlog,主庫才提交事務,一般設置為1,性能最高
參數rpl_semi_sync_master_timeout 等待多少毫秒,從庫無回應自動切換為非同步模式,一般設置為無限大,不讓主庫自動切換為非同步模式
所有從庫宕機,主庫會罷工,因為無法收到任何從庫的應答包
手動解決:在MySQL主庫修改參數rpl_semi_sync_master_wait_for_slave_count=0
9. 多欄位統計信息
PGSQL
支持多欄位統計信息

MySQL
不支持多欄位統計信息
10. 索引類型
PGSQL
多種索引類型(btree , hash , gin , gist , sp-gist , brin , bloom , rum , zombodb , bitmap,部分索引,表達式索引)

MySQL
btree 索引,全文索引(低效),表達式索引(需要建虛擬列),hash 索引只在內存表
11. 物理表連接演算法
PGSQL
支持 nested-loop join 、hash join 、merge join

MySQL
只支持 nested-loop join
12. 子查詢和視圖性能
PGSQL
子查詢,視圖優化,性能比較高

MySQL
視圖謂詞條件下推限制多,子查詢上拉限制多
13. 執行計劃即時編譯
PGSQL
支持 JIT 執行計劃即時編譯,使用LLVM編譯器

MySQL
不支持執行計劃即時編譯
14. 並行查詢
PGSQL
並行查詢(多種並行查詢優化方法),並行查詢一般多見於商業資料庫,是重量級功能

MySQL
有限,只支持主鍵並行查詢
15. 物化視圖
PGSQL
支持物化視圖

MySQL
不支持物化視圖
16. 插件功能
PGSQL
支持插件功能,可以豐富PGSQL的功能,GIS地理插件,時序資料庫插件, 向量化執行插件等等

MySQL
不支持插件功能
17. check約束
PGSQL
支持check約束

MySQL
不支持check約束,可以寫check約束,但存儲引擎會忽略它的作用,因此check約束並不起作用(mariadb 支持)
18. gpu 加速SQL
PGSQL
可以使用gpu 加速SQL的執行速度

MySQL
不支持gpu 加速SQL 的執行速度
19. 數據類型
PGSQL
數據類型豐富,如 ltree,hstore,數組類型,ip類型,text類型,有了text類型不再需要varchar,text類型欄位最大存儲1GB

MySQL
數據類型不夠豐富
20. 跨庫查詢
PGSQL
不支持跨庫查詢,這個跟Oracle 12C以前一樣

MySQL
可以跨庫查詢
21. 備份還原
PGSQL
備份還原非常簡單,時點還原操作比SQL Server還要簡單,完整備份+wal歸檔備份(增量)
假如有一個三節點的PGSQL主從集群,可以隨便在其中一個節點做完整備份和wal歸檔備份

MySQL
備份還原相對不太簡單,完整備份+binlog備份(增量)
完整備份需要percona的XtraBackup工具做物理備份,MySQL本身不支持物理備份
時點還原操作步驟繁瑣復雜
22. 性能視圖
PGSQL
需要安裝pg_stat_statements插件,pg_stat_statements插件提供了豐富的性能視圖:如:等待事件,系統統計信息等
不好的地方是,安裝插件需要重啟資料庫,並且需要收集性能信息的資料庫需要執行一個命令:create extension pg_stat_statements命令
否則不會收集任何性能信息,比較麻煩

MySQL
自帶PS庫,默認很多功能沒有打開,而且打開PS庫的性能視圖功能對性能有影響(如:內存佔用導致OOM bug)
23. 安裝方式
PGSQL
有各個平台的包rpm包,deb包等等,相比MySQL缺少了二進制包,一般用源碼編譯安裝,安裝時間會長一些,執行命令多一些

MySQL
有各個平台的包rpm包,deb包等等,源碼編譯安裝、二進制包安裝,一般用二進制包安裝,方便快捷
24. DDL操作
PGSQL
加欄位、可變長欄位類型長度改大不會鎖表,所有的DDL操作都不需要藉助第三方工具,並且跟商業資料庫一樣,DDL操作可以回滾,保證事務一致性

MySQL
由於大部分DDL操作都會鎖表,例如加欄位、可變長欄位類型長度改大,所以需要藉助percona-toolkit裡面的pt-online-schema-change工具去完成操作
將影響減少到最低,特別是對大表進行DDL操作
DDL操作不能回滾
25. 大版本發布速度
PGSQL
PGSQL每年一個大版本發布,大版本發布的第二年就可以上生產環境,版本迭代速度很快
PGSQL 9.6正式版推出時間:2016年
PGSQL 10 正式版推出時間:2017年
PGSQL 11 正式版推出時間:2018年
PGSQL 12 正式版推出時間:2019年

MySQL
MySQL的大版本發布一般是2年~3年,一般大版本發布後的第二年才可以上生產環境,避免有坑,版本發布速度比較慢
MySQL5.5正式版推出時間:2010年
MySQL5.6正式版推出時間:2013年
MySQL5.7正式版推出時間:2015年
MySQL8.0正式版推出時間:2018年
26. returning語法
PGSQL
支持returning語法,returning clause 支持 DML 返回 Resultset,減少一次 Client <-> DB Server 交互

MySQL
不支持returning語法
27. 內部架構
PGSQL
多進程架構,並發連接數不能太多,跟Oracle一樣,既然跟Oracle一樣,那麼很多優化方法也是相通的,例如:開啟大頁內存

MySQL
多線程架構,雖然多線程架構,但是官方有限制連接數,原因是系統的並發度是有限的,線程數太多,反而系統的處理能力下降,隨著連接數上升,反而性能下降
一般同時只能處理200 ~300個資料庫連接
28. 聚集索引
PGSQL
不支持聚集索引,PGSQL本身的MVCC的實現機制所導致

MySQL
支持聚集索引
29. 空閑事務終結功能
PGSQL
通過設置 idle_in_transaction_session_timeout 參數來終止空閑事務,比如:應用代碼中忘記關閉已開啟的事務,PGSQL會自動查殺這種類型的會話事務

MySQL
不支持終止空閑事務功能
30. 應付超大數據量
PGSQL
不能應付超大數據量,由於PGSQL本身的MVCC設計問題,需要垃圾回收,只能期待後面的大版本做優化

MySQL
不能應付超大數據量,MySQL自身架構的問題
31. 分布式演進
PGSQL
HTAP資料庫:cockroachDB、騰訊Tbase
分片集群: Postgres-XC、Postgres-XL

MySQL
HTAP資料庫:TiDB
分片集群: 各種各樣的中間件,不一一列舉
32. 資料庫的文件名和命名規律
PGSQL
PGSQL在這方面做的比較不好,DBA不能在操作系統層面(停庫狀態下)看清楚資料庫的文件名和命名規律,文件的數量,文件的大小
一旦操作系統發生文件丟失或硬碟損壞,非常不利於恢復,因為連名字都不知道
PGSQL表數據物理文件的命名/存放規律是: 在一個表空間下面,如果沒有建表空間默認在默認表空間也就是base文件夾下,例如:/data/base/16454/3599
base:默認表空間pg_default所在的物理文件夾
16454:表所在資料庫的oid
3599:就是表對象的oid,當然,一個表的大小超出1GB之後會再生成多個物理文件,還有表的fsm文件和vm文件,所以一個大表實際會有多個物理文件
由於PGSQL的數據文件布局內容太多,大家可以查閱相關資料
當然這也不能全怪PGSQL,作為一個DBA,時刻做好資料庫備份和容災才是正道,做介質恢復一般是萬不得已的情況下才會做

MySQL
資料庫名就是文件夾名,資料庫文件夾下就是表數據文件,但是要注意表名和資料庫名不能有特殊字元或使用中文名,每個表都有對應的frm文件和ibd文件,存儲元數據和表/索引數據,清晰明了,做介質恢復或者表空間傳輸都很方便
33. 許可權設計
PGSQL
PGSQL在許可權設計這塊是比較坑爹,拋開實例許可權和表空間許可權,PGSQL的許可權層次有點像SQL Server,db=》schema=》object
要說許可權,這里要說一下Oracle,用Oracle來類比
在ORACLE 12C之前,實例與資料庫是一對一,也就是說一個實例只能有一個資料庫,不像MySQL和SQL Server一個實例可以有多個資料庫,並且可以隨意跨庫查詢
而PGSQL不能跨庫查詢的原因也是這樣,PGSQL允許建多個資料庫,跟ORACLE類比就是有多個實例(之前說的實例與資料庫是一對一)
一個資料庫相當於一個實例,因為PGSQL允許有多個實例,所以PGSQL單實例不叫一個實例,叫集簇(cluster),集簇這個概念可以查閱PGSQL的相關資料
PGSQL裡面一個實例/資料庫下面的schema相當於資料庫,所以這個schema的概念對應MySQL的database
注意點:正因為是一個資料庫相當於一個實例,PGSQL允許有多個實例/資料庫,所以資料庫之間是互相邏輯隔離的,導致的問題是,不能一次對一個PGSQL集簇下面的所有資料庫做操作
必須要逐個逐個資料庫去操作,例如上面說到的安裝pg_stat_statements插件,如果您需要在PGSQL集簇下面的所有資料庫都做性能收集的話,需要逐個資料庫去執行載入命令
又例如跨庫查詢需要dblink插件或fdw插件,兩個資料庫之間做查詢相當於兩個實例之間做查詢,已經跨越了實例了,所以需要dblink插件或fdw插件,所以道理非常簡單
許可權操作也是一樣逐個資料庫去操作,還有一個就是PGSQL雖然像SQL Server的許可權層次結構db=》schema=》object,但是實際會比SQL Server要復雜一些,還有就是新建的表還要另外授權
在PGSQL裡面,角色和用戶是一樣的,對新手用戶來說有時候會傻傻分不清,也不知道怎麼去用角色,所以PGSQL在許可權設計這一塊確實比較坑爹

MySQL
使用mysql庫下面的5個許可權表去做許可權映射,簡單清晰,唯一問題是缺少許可權角色
user表
db表
host表
tables_priv表
columns_priv表

1. 架構對比
Mysql:多線程
PostgreSql:多進程
多線程架構和多進程架構之間沒有絕對的好壞,例如oracle在unix上是多進程架構,在windows上是多線程架構。

2. 對存儲過程及事務的支持能力
MySql對於無事務的MyISAM表,採用表鎖定,一個長時間運行的查詢很可能會長時間的阻礙,而PostgreSQL不會尊在這種問題。
PostgreSQL支持存儲過程,要比MySql好,具備本地緩存執行計劃的能力。

3. 穩定性及性能
高並發讀寫,負載逼近極限下,PG的性能指標仍可以維持雙曲線甚至對數曲線,到頂峰之後不再下降,而 MySql 明顯出現一個波峰後下滑(5.5版本後Mysql企業版有優化,需要付費)
MySql的InnoDB引擎,可以充分優化利用系統的所有內存,超大內存下PG對內存使用的不那麼充分(需要根據內存情況合理分配)。

4. 高可用
InnoDB的基於回滾實現的 MVCC 機制,對於 PG 新老數據一起放的基於 XID 的 MVCC機制,是占優的。新老數據一起存放,需要定時觸發 VACUUM,會帶來多餘的 IO 和資料庫對象加鎖開銷,引起資料庫整理的並發能力下降。而且 VACUUM 清理不及時,還可能會引發數據膨脹

5. 數據同步方式:
Mysql到現在也是非同步復制,pgsql可以做到同步、非同步、半同步復制。
Mysql同步是基於binlog復制,屬於邏輯復制,類似於oracle golden gate,是基於stream的復制,做到同步很困難,這種方式更加適合非同步復制;
Pgsql的同是基於wal,屬於物理復制,可以做到同步復制。同時,pgsql還提供stream復制。
Mysql的復制可以用多級從庫,但是在9.2之前,PgSql不能用從庫帶從庫。
Pgsql的主從復制屬於物理復制,相對於Mysql基於binlog的邏輯復制,數據的一致性更加可靠,復制性能更高,對主機性能的影響也更小。

6. 許可權控制對比
MySql允許自定義一套不同的數據級、表級和列的許可權,運行指定基於主機的許可權
Mysql的merge表提供了 一個獨特管理多個表的方法。myisampack可以對只讀表進行壓縮,以後仍然可以直接訪問該表中的行。

7. SQL語句支持能力
PG有極其強悍的 SQL 編程能力(9.x 圖靈完備,支持遞歸!),有非常豐富的統計函數和統計語法支持,例如分析函數(Oracle的叫法,PG里叫window函數)
支持用多種語言來寫存儲過程,對於R的支持也很好。這一點上Mysql就差的很遠,很多分析功能都不支持。
PgSql對表名大小寫的處理,只有在Sql語句中,表明加雙引號,才區分大小寫。
在Sql的標准實現上要比Mysql完善,而且功能實現比較嚴謹。
對表連接支持比較完整,優化器的功能比較完整,支持的索引類型很多,復雜查詢能力較強。
Mysql採用索引組織表,這種存儲方式非常適合基於主鍵匹配的查詢、刪改操作,但是對表結果設計存在約束;
Mysql的Join操作的性能非常的差,只支持Nest Join,所以一旦數據量大,性能就非常的差。PostgresSQL除了支持 Nest Join 和 Sort Merge Join,PostgreSQL還支持正則表達式查詢,MySql不支持。

8. 數據類型支持能力
PostgreSQL可以更方便的使用UDF(用戶定義函數)進行擴展。
有豐富的幾何類型,實際上不止集合類型,PG有大量的字典、數組、bitmap等數據類型,因此PG多年來在 GIS 領域處於優勢地位。相比之下Mysql就差很多,instagram就是因為PG的空間數據擴展 PostGIS遠遠強於 MySql的 my spatial 而採用 PgSql的。Mysql中的空間數據類型有4種,分別是 CEOMETRY、POINT、LINESTRING、POLYGON,其空間索引只能在存儲引擎為 MyiSam的表中創建,用SPATIAL關鍵字進行擴展,使得能夠用於創建正規索引類型的語法創建空間索引。創建空間索引的列,必須將其聲明為NOT NULL。不同的存儲親情有差別。MyISAM和InnoDB 都支持 spatial extensions,但差別在於:如果使用MyISAM,可以建立 spatial index,而 InnoDB是不支持的。
pgsql對json支持比較好,還有很逆天的fdw功能,就是把別的資料庫中的表當自己的用。
pgsql的欄位類型支持的多,有很多mysql沒有的類型,但是實際中有時候用到。
一半關系型資料庫的字元串長度8k左右,無限長的 TEXT 類型的功能受限,只能作為外部帶數據訪問。而 PG 的 TEXT 類型可以直接訪問,SQL 語法內置正則表達式,可以索引,還可以全文檢索,或使用 xml xpath。用 PG 的話,文檔資料庫都可以省了。
postgresql 有函數,用於報表、統計很方便
PG支持 R-Trees這樣可擴展的索引類型,可以方便的處理一些特殊數據。
PG可以使用函數和條件所以,使得資料庫的調優非常靈活,mysql就沒有這個功能,條件索引在web應用中很重要。

9. 如可過程容錯能力
大批量數據入庫,PostgreSql要求所有的數據必須完全滿足要求,有一條錯誤,整個數據入庫過程失敗。MySql無此問題。

10. 表組織方式
pgsql用繼承的方式實現分區表,讓分區表的使用不方便且性能差,這點比不上mysql。
pg主表採用堆表存放,MySQL採用索引組織表,能夠支持比MySql更大的數據量。
MySql分區表的實現要優於PG的基於繼承表的分區實現,主要體現在分區個數達到成千上萬後的處理性能差異很大。

11. 開發結構
對於web應用來所,mysql 5.6 的內置 MC API 功能很好用,PgSQL差一些。
PG的「無鎖定」特性非常突出,甚至包括 vacuum 這樣的整理數據空間的操作,這個和 PGSQL的 MVCC 實現有關系。

好文要頂 關注我 收藏該文
茄子777
粉絲 - 0 關注 - 0
+加關注
00
« 上一篇: 多線程中的wait與join
» 下一篇: 負載均衡相關
posted @ 2022-11-02 16:20 茄子777 閱讀(55) 評論(0) 編輯 收藏 舉報
刷新評論刷新頁面返回頂部
登錄後才能查看或發表評論,立即 登錄 或者 逛逛 博客園首頁
【推薦】阿里雲新人特惠,爆款雲伺服器2核4G低至0.46元/天
【推薦】雙十一同價!騰訊雲雲伺服器搶先購,低至4.2元/月
編輯推薦:
· 一個有趣的 nginx HTTP 400 響應問題分析
· 誰說.NET沒有GC調優?只改一行代碼就讓程序不再佔用內存
· 為什麼標准庫的模板變數都是 inline 的
· .net 如何優雅的使用 EFCore
· 在 C# 中使用 Halcon 開發視覺檢測程序
閱讀排行:
· Entity Framework Core 7中高效地進行批量數據插入
· 除了 filter 還有什麼置灰網站的方式?
· 快速繪制流程圖「GitHub 熱點速覽 v.22.47」
· 使用.NET7和C#11打造最快的序列化程序-以MemoryPack為例
· 私藏!資深數據專家SQL效率優化技巧 ⛵

閱讀全文

與pgbase文件夾存的是什麼相關的資料

熱點內容
usb藍牙android 瀏覽:405
伺服器顯示error1什麼意思 瀏覽:708
python代碼精簡 瀏覽:457
文件加密了怎麼找到了 瀏覽:193
jellyfin插件怎麼選擇主伺服器 瀏覽:836
asp用戶注冊源碼 瀏覽:48
什麼是照片壓縮文件 瀏覽:392
java調用js代碼 瀏覽:979
崑山市民app怎麼修改身份信息 瀏覽:779
php登陸次數 瀏覽:744
python字元轉成數字 瀏覽:822
海川用的是什麼伺服器 瀏覽:376
口才是練出來的pdf 瀏覽:458
雲伺服器哪個公司性價比高 瀏覽:517
源碼論壇打包 瀏覽:558
php怎麼做成word 瀏覽:692
python批量生成密鑰 瀏覽:492
程序員要不要考社區人員 瀏覽:150
app的錢怎麼充q幣 瀏覽:814
android銀行卡識別 瀏覽:756