pg数据库data目录

Posted easonbook

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pg数据库data目录相关的知识,希望对你有一定的参考价值。

概述

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。

总结

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

以上是关于pg数据库data目录的主要内容,如果未能解决你的问题,请参考以下文章

PostgreSQL pg_xlog文件夹的文件

PostgreSQL 安装完成后的一些配置

自制软件的 data_directory 在哪里?或者对于 postgresql 或者我该如何解决错误,“”global/pg_filenode.map“:没有这样的文件或目录”?

Postgresql:如何应用 pg_dump --exclude-table-data 补丁?

PostgreSQL指定用户可访问的数据库pg_hba.conf

PostgreSQL指定用户可访问的数据库pg_hba.conf