在安装完 PostgreSQL 之后会在磁盘上形成对应的文件目录结构,要想深入理解 PostgreSQL 就需要对其有一个大致的了解。下面是关于 PostgreSQL 文件目录的一个大致介绍。
[postgres@localhost data]$ ls -alh
总用量 76K
drwx------ 21 postgres postgres 4.0K 12月 9 13:16 .
drwxr-xr-x 7 postgres postgres 68 11月 17 14:32 ..
drwx------ 5 postgres postgres 41 11月 17 14:34 base
-rw------- 1 postgres postgres 44 11月 20 00:03 current_logfiles
drwx------ 2 postgres postgres 4.0K 11月 17 14:34 global
drwx------ 2 postgres postgres 126 11月 20 00:03 log
-rw------- 1 postgres postgres 1013 11月 17 14:54 logfile
drwx------ 2 postgres postgres 6 11月 17 14:34 pg_commit_ts
drwx------ 2 postgres postgres 6 11月 17 14:34 pg_dynshmem
-rw------- 1 postgres postgres 4.9K 11月 17 14:51 pg_hba.conf
-rw------- 1 postgres postgres 1.6K 11月 17 14:34 pg_ident.conf
drwx------ 4 postgres postgres 68 11月 17 14:59 pg_logical
drwx------ 4 postgres postgres 36 11月 17 14:34 pg_multixact
drwx------ 2 postgres postgres 6 11月 17 14:34 pg_notify
drwx------ 2 postgres postgres 6 11月 17 14:34 pg_replslot
drwx------ 2 postgres postgres 6 11月 17 14:34 pg_serial
drwx------ 2 postgres postgres 6 11月 17 14:34 pg_snapshots
drwx------ 2 postgres postgres 6 11月 17 14:54 pg_stat
drwx------ 2 postgres postgres 25 12月 7 10:33 pg_stat_tmp
drwx------ 2 postgres postgres 18 11月 17 14:34 pg_subtrans
drwx------ 2 postgres postgres 6 11月 17 14:34 pg_tblspc
drwx------ 2 postgres postgres 6 11月 17 14:34 pg_twophase
-rw------- 1 postgres postgres 3 11月 17 14:34 PG_VERSION
drwx------ 3 postgres postgres 60 11月 17 14:34 pg_wal
drwx------ 2 postgres postgres 18 11月 17 14:34 pg_xact
-rw------- 1 postgres postgres 88 11月 17 14:34 postgresql.auto.conf
-rw------- 1 postgres postgres 29K 11月 17 14:54 postgresql.conf
-rw------- 1 postgres postgres 65 11月 17 14:54 postmaster.opts
-rw------- 1 postgres postgres 83 11月 17 14:54 postmaster.pid
drwxrwxr-x 2 postgres postgres 6 12月 9 13:16 wal_archive
[postgres@localhost data]$
PG_VERSION:一个包含 PostgreSQL 主版本号的文件
base:包含每个数据库对应的子目录的目录
current_logfiles:记录当前被日志收集器写入的日志文件的文件
global:包含集簇范围的表的子目录,比如 pg_database
pg_commit_ts:包含事务提交时间戳数据的子目录
pg_dynshmem:包含被动态共享内存子系统所使用的文件的子目录
pg_logical:包含用于逻辑复制的状态数据的子目录
pg_multixact:包含多事务 multi-transaction 状态数据的子目录
pg_notify:包含 LISTEN/NOTIFY 状态数据的子目录
pg_replslot:包含复制槽数据的子目录
pg_serial:包含已提交的可序列化事务信息的子目录
pg_snapshots:包含导出的快照的子目录
pg_stat:包含用于统计子系统的永久文件的子目录
pg_stat_tmp:包含用于统计信息子系统的临时文件的子目录
pg_subtrans:包含子事务状态数据的子目录
pg_tblspc:包含指向表空间的符号链接的子目录
pg_twophase:包含用于预备事务状态文件的子目录
pg_wal:包含 WAL 文件的子目录
pg_xact:包含事务提交状态数据的子目录
postgresql.auto.conf:一个用于存储由 ALTER SYSTEM 设置的配置参数的文件
postmaster.opts:一个记录服务器最后一次启动时使用的命令行参数的文件
postmaster.pid:一个锁文件,记录着当前的 postmaster 进程ID、集簇数据目录路径、postmaster 启动时间戳、端口号、Unix 域套接字目录路径、第一个可用的 listen_address 以及共享内存段 ID,服务器关闭后该文件不存在