通过initdb可以创建postgresql的集群目录pgdata,这里列一下各个目录和文件的作用:
pgdata (集群目录)
丨--base (数据库目录)
丨--1 (template1)
丨--13268 (template0)
丨--13269 (postgres)
丨--global (用于存储全局的系统表信息和全局控制信息)
丨--pg_control (用于存储全局控制信息)
丨--1136 (pg_pltemplate)
丨--xxxx (其它表信息)
丨--pg_hba.conf (访问控制文件)
丨--pg_ident.conf (用户映射控制文件)
丨--PG_VERSION (版本信息文件)
丨--postgresql.conf (集群配置文件)
丨--postgresql.auto.conf (集群配置文件,优先级高于postgresql.conf,只能通过alter命令修改)
丨--pg_clog (用于存储事务提交状态数据)
丨--pg_commit_ts (用于存储已提交事务的时间)
丨--pg_dynshmem (用于存储动态共享内存子系统使用的文件)
丨--pg_logical (用于存储逻辑解码的状态数据)
丨--pg_multixact (用于存储多事务状态数据)
丨--pg_notify (用于存储LISTEN/NOTIFY状态数据)
丨--pg_replslot (用于存储包含复制槽数据)
丨--pg_serial (用于存储已经提交的序列化事务的有关信息)
丨--pg_snapshots (用于存储导出的快照)
丨--pg_stat (用于存储统计子系统的永久文件)
丨--pg_stat_tmp (用于存储统计子系统的临时文件)
丨--pg_subtrans (用于存储统子事务状态数据)
丨--pg_tblspc (用于存储表空间的符号链接)
丨--pg_twophase (用于存储预备事务的状态文件)
丨--pg_xlog (用于存储WAL日志)