pg数据库data目录

时间:2022-02-13 02:11:05

概述

pg数据库和mysql数据库的安装目录结构很类似,程序和数据是分开的,在启动时候可以自行指定不同的数据目录来做到启动不同的数据库。

目录

下面表格来解释pg数据目录下,每个文件夹以及文件名的作用。

目录名 作用
base 该目录包含了数据库中各个数据库,每个数据库都是由一个文件夹组成,文件名是该数据库的oid,这个可以通过数据字典pg_database来查看对应的数据库名(select oid,datname from pg_database)。
pg_xlog/pg_wal 该目录包含wal(预写)日志。注意在10版本后,该目录重命名为"pg_wal"。
global 该目录包含集群范围的各个表和相关视图。 ( pg_database、 pg_tablespace )
pg_clog 该目录包含事务提交状态数据。
pg_multixact 该目录包含多事务状态数据(等待锁定的并发事务)
pg_notify 该目录包含LISTEN/NOTIFY状态数据。
pg_serial 该目录包含了已经提交的序列化事务的有关信息。
pg_snapshots 该目录包含导出的快照。
pg_stat_tmp 该目录包含统计子系统的临时文件。
pg_subtrans 该目录包含子事务状态数据。
pg_tblspc 该目录包含表空间的符号链接。
pg_twophase 该目录包含预备事务的状态文件。
pg_commit_ts 该目录包含已提交事务的时间。
pg_dynshmem 该目录包含动态共享内存子系统使用的件。
pg_logical 该目录包含逻辑解码的状态数据。
pg_replslot 该目录包含复制槽数据。
pg_stat 该目录包含统计子系统的永久文件。
文件名 作用
pg_hba.conf 数据库访问控制文件,一般新安装的数据库都需要进行配置,在流复制中也需要配置。
pg_ident.conf 将数据库用户映射到本地用户的一种认证方式,使用比较少,在特殊场景下需要配置(控制哪一个本地用户可以连接到哪一个数据库)。
postgresql.conf/postgresql.base.conf 主要配置文件,在数据库安装完后,需要手动更改里面的监听地址,否则默认只能本地连接。
PG_VERSION 包含版本信息。
postmaster.pid 启动后pg主进程ID。

总结

了解各个数据库的文件的作用对于理解数据库的逻辑结构非常有用,这方面需要不断的学习。