我們知道linux中一個思想:一切皆文件,那麼在我們安裝完postgresql資料庫後,她長什麼樣呢?本文帶著你一起揭開她的面紗,看看postgresql的文件佈局。 說明:由於安裝測試的版本是10.5這裡可以參考官方文檔:https://www.postgresql.org/docs/10/sto ...
我們知道linux中一個思想:一切皆文件,那麼在我們安裝完postgresql資料庫後,她長什麼樣呢?本文帶著你一起揭開她的面紗,看看postgresql的文件佈局。
說明:由於安裝測試的版本是10.5這裡可以參考官方文檔:https://www.postgresql.org/docs/10/storage-file-layout.html
[postgresql@lxdnode2 ~]$ cd $PGDATA/ [postgresql@lxdnode2 data]$ ls -lrt total 120 drwx------. 2 postgresql postgresql 4096 Jan 19 20:03 pg_dynshmem drwx------. 2 postgresql postgresql 4096 Jan 19 20:03 pg_commit_ts -rw-------. 1 postgresql postgresql 3 Jan 19 20:03 PG_VERSION drwx------. 2 postgresql postgresql 4096 Jan 19 20:03 pg_twophase drwx------. 2 postgresql postgresql 4096 Jan 19 20:03 pg_tblspc drwx------. 2 postgresql postgresql 4096 Jan 19 20:03 pg_snapshots drwx------. 2 postgresql postgresql 4096 Jan 19 20:03 pg_serial drwx------. 2 postgresql postgresql 4096 Jan 19 20:03 pg_replslot drwx------. 4 postgresql postgresql 4096 Jan 19 20:03 pg_multixact -rw-------. 1 postgresql postgresql 22724 Jan 19 20:03 postgresql.conf -rw-------. 1 postgresql postgresql 88 Jan 19 20:03 postgresql.auto.conf -rw-------. 1 postgresql postgresql 1636 Jan 19 20:03 pg_ident.conf drwx------. 2 postgresql postgresql 4096 Jan 19 20:03 pg_xact drwx------. 3 postgresql postgresql 4096 Jan 19 20:03 pg_wal drwx------. 2 postgresql postgresql 4096 Jan 19 20:03 pg_subtrans drwx------. 5 postgresql postgresql 4096 Jan 19 20:03 base drwx------. 2 postgresql postgresql 4096 Jan 19 20:08 pg_notify -rw-------. 1 postgresql postgresql 40 Jan 19 20:08 postmaster.opts -rw-------. 1 postgresql postgresql 96 Jan 19 20:08 postmaster.pid drwx------. 2 postgresql postgresql 4096 Jan 19 20:08 pg_stat drwx------. 2 postgresql postgresql 4096 Jan 19 20:08 global -rw-------. 1 postgresql postgresql 4501 Jan 19 20:09 pg_hba.conf drwx------. 4 postgresql postgresql 4096 Jan 19 20:13 pg_logical drwx------. 2 postgresql postgresql 4096 Jan 19 21:38 pg_stat_tmp
在初次接觸某一個事務的時候,我們不可能詳盡的瞭解她的方方面面,這裡我也進行了取捨,重點學習一下標黃的文件、目錄(並不是其他的不重要,其實都重要,限於目前學習過程中很少遇到,後續會在其他文章里進一步討論)
1、PG_VERSION
該文件記錄了當前安裝的postgresql資料庫的主版本號,也就是大版本號,比如我們安裝的是10.5,那麼該文件里就是10,可以猜測一下pg11.x,pg12.x對應的文件里依次是11和12。
2、pg_tblspc
如果有用戶自定義的表空間,那麼該文件就會記錄對應表空間oid和該表空間實際存儲路徑的軟連接,至於什麼是oid,現在只需要知道她是postgresql資料庫中一個對象標識符,每種類型的所有對象,均有自己唯一的標識符oid。
能聰明的你想問,這裡說的用戶自定義表空間會存儲的對應關係,那麼postgresql資料庫安裝完畢後是否有預設的表空間呢?肯定是有的,記住Oracle有的,postgresql基本都有與之對應的。