PostgreSQL在Ubuntu中的資料存放位置
在Ubuntu系統中,PostgreSQL安裝完成後,資料會存放在以下預設位置:
主要資料目錄(Data Directory):
- 預設路徑:
/var/lib/postgresql/{版本號}/main/ - 例如PostgreSQL 14版本:
/var/lib/postgresql/14/main/ - 例如PostgreSQL 15版本:
/var/lib/postgresql/15/main/
具體的檔案分佈:
-
資料庫檔案:
/var/lib/postgresql/{版本號}/main/base/- 每個資料庫都有自己的子目錄,以OID命名
-
WAL日誌檔案:
/var/lib/postgresql/{版本號}/main/pg_wal/- 儲存預寫式日誌(Write-Ahead Log)
-
配置檔案:
/etc/postgresql/{版本號}/main/postgresql.conf- 主要配置檔案pg_hba.conf- 客戶端認證配置檔案pg_ident.conf- 身分對應配置檔案
-
日誌檔案:
/var/log/postgresql/- PostgreSQL的運行日誌
如何確認資料目錄位置:
您可以使用以下方法來確認實際的資料目錄:
-- 連線到PostgreSQL後執行
SHOW data_directory;或者在系統命令列中:
sudo -u postgres psql -c "SHOW data_directory;"權限設定:
- 資料目錄的擁有者是
postgres使用者 - 權限通常設定為
700,確保只有postgres使用者可以存取
補充說明:
與您教材中提到的Windows環境不同,Linux系統遵循FHS(Filesystem Hierarchy Standard)標準,將不同類型的檔案分散存放:
- 資料檔案放在
/var/lib/ - 配置檔案放在
/etc/ - 日誌檔案放在
/var/log/
這種分散式的檔案配置提供了更好的系統管理和安全性,但對初學者來說可能需要適應這種與Windows不同的檔案組織方式。
如果您需要修改資料目錄位置,需要在初始化資料庫時使用 initdb 命令指定,或者修改配置檔案中的 data_directory 參數。