initdb 的時候會指定一個 PGDATA 目錄,這就是 PostgresQL 存儲數據的地方。典型的位置是在 /postgres/data a 。PGDATA 下面各項存儲的內容大概是:
文件或目錄名 存儲內容
PG_VERSION PostgresQL 實例的版本號如 9.3 之類的
base 每個 database 會在 base 目錄下有一個子目錄
global Postgres 自己的 meta 數據庫存放的地方(全局 DB)
pg_xlog WAL(Write Ahead Log 預寫式日誌)存放的地方
base 目錄是最重要的一個目錄,放的是每一個 database 的數據。base 目錄裏的每一個數字目錄對於一個 database 的 oid, 可以通過 查看 pg_database 這張表查看每一個 數據庫的 oid 。
select oid, datname from pg_database ;
select pg_relation_filepath('20191231-1.aoi_jobinfo');