【PG】PostgreSQL 目录结构

目录

[1 软件安装目录](#1 软件安装目录)

[2 数据文件目录](#2 数据文件目录)

base/:存储每个数据库的基本数据文件

global/:包含了全局性质的系统表空间文件

pg_tblspc/:包含了表空间的符号链接

pg_twophase/:包含了两阶段提交中使用的文件

pg_stat_tmp/:包含了一些临时文件,用于存储统计信息

[pg_stat/:包含了 PostgreSQL 收集的统计信息文件](#pg_stat/:包含了 PostgreSQL 收集的统计信息文件)

pg_logical/:包含了用于逻辑复制的文件

pg_replslot/:包含了复制插槽信息的文件

pg_subtrans/:包含了用于存储子事务信息的文件

pg_notify/:包含了用于存储异步通知信息的文件。

pg_snapshots/:包含了用于存储快照信息的文件。

pg_serial/:包含了用于存储序列信息的文件


1 软件安装目录

/usr/local/pgsql目录下,通常会找到与PostgreSQL相关的子目录和文件。以下是一些常见的组件:

  • /bin: 该目录通常包含PostgreSQL的可执行文件,如psql(PostgreSQL命令行客户端)和其他实用程序。

  • /data: 这是PostgreSQL存储其数据文件的常见目录,包括主数据库集群。数据目录在PostgreSQL安装过程中指定,并包含诸如base等子目录,其中存储实际的表数据。

  • /lib: 该目录通常包含PostgreSQL所需的共享库。

  • /share: 该目录可能包含PostgreSQL使用的与架构无关的文件,例如错误消息、时区信息和其他共享资源。

  • /doc: PostgreSQL的文档文件可能存放在这里。

  • /include: 编译与PostgreSQL交互的程序所需的头文件。

值得注意的是,安装目录的确切结构可能会根据安装方法和操作系统而有所不同。请始终参考您正在使用的特定版本PostgreSQL的文档或安装说明,以获取准确的详细信息。

2 数据文件目录

PostgreSQL 的 data_directory 是一个包含着数据库集群所有数据文件和相关信息的目录。这个目录下的文件和子目录有着不同的用途,以下是其中一些重要的文件和子目录的解释:

base/: 存储每个数据库的基本数据文件

存储每个数据库的基本数据文件。每个数据库都有一个以其 OID(对象标识符)命名的子目录,里面包含了该数据库的所有表和索引的数据文件。
2.

global/: 包含了全局性质的系统表空间文件

包含了全局性质的系统表空间文件。这里存放了所有数据库共享的系统表,如 pg_databasepg_authid 等。
3.

**pg_tblspc/:**包含了表空间的符号链接

包含了表空间的符号链接。每个符号链接指向实际的表空间目录,表空间是用于组织数据库物理存储的一种方式。
4.

pg_twophase/: 包含了两阶段提交中使用的文件

包含了两阶段提交中使用的文件。两阶段提交用于确保分布式事务的一致性。
5.

**pg_stat_tmp/:**包含了一些临时文件,用于存储统计信息

pg_stat/: 包含了 PostgreSQL 收集的统计信息文件

包含了 PostgreSQL 收集的统计信息文件。这些文件记录了数据库服务器运行时的性能统计信息,如查询计划、锁等。
7.

pg_logical/: 包含了用于逻辑复制的文件

包含了用于逻辑复制的文件。逻辑复制允许将特定表、特定数据库对象或特定的数据更改复制到另一个数据库。
8.

**pg_replslot/:**包含了复制插槽信息的文件

包含了复制插槽信息的文件。复制插槽用于流复制中,确保备用节点能够持续接收主节点的 WAL(Write-Ahead Logging)。
9.

**pg_subtrans/:**包含了用于存储子事务信息的文件

包含了用于存储子事务信息的文件。子事务用于处理并发事务中的多个子操作。
10.

复制代码
#### **pg_notify/:**包含了用于存储异步通知信息的文件。

包含了用于存储异步通知信息的文件。异步通知允许数据库中的一个会话通知其他会话有关特定事件的发生。
复制代码
#### **pg_snapshots/:**包含了用于存储快照信息的文件。

包含了用于存储快照信息的文件。快照是一种数据库的一致性视图,用于支持可重复读事务隔离级别。
复制代码
#### **pg_serial/:**​​​​​​​包含了用于存储序列信息的文件

包含了用于存储序列信息的文件。序列是 PostgreSQL 中生成唯一标识符的一种方式。

除了上述目录,还有一些重要的配置文件:

  • postgresql.conf: 存放着 PostgreSQL 服务器的配置参数,如端口号、日志设置等。

  • pg_hba.conf: 存放着 PostgreSQL 的身份验证规则,定义了哪些主机和用户能够连接到数据库,以及使用哪种身份验证方法。

  • **pg_ident.conf:**存放着标识映射规则,用于将操作系统用户映射到 PostgreSQL 数据库用户。

相关推荐
喵桑..3 小时前
视图是什么?有什么用?什么时候用?MySQL中的视图
数据库·mysql
奋进小子5 小时前
达梦DISQL执行SQL和SQL脚本
数据库·sql
EasyCVR5 小时前
视频汇聚系统EasyCVR调用设备录像保活时视频流不连贯问题解决方案
数据库·ubuntu·音视频·云存储·云端录像
YueiL5 小时前
Linux文件系统基石:透彻理解inode及其核心作用
linux·网络·数据库
老华带你飞8 小时前
数码论坛|基于SprinBoot+vue的数码论坛系统(源码+数据库+文档)
java·前端·数据库·vue.js·论文·毕设·数码论坛系统
独泪了无痕8 小时前
Hutool-RedisDS:简化Redis操作的Java工具类
数据库·redis
北极糊的狐8 小时前
接口返回504 Gateway Time-out 错误,这意味着请求在网关或代理服务器等待上游服务器响应时超时。以下是可能的原因和排查建议:
数据库·gateway
sssnnndddfff8 小时前
Redis原理,命令,协议以及异步方式
数据库·redis·缓存
AllData公司负责人9 小时前
DataFun联合开源AllData社区和开源Gravitino社区将在8月9日相聚数据治理峰会论坛
大数据·数据库·sql·开源
ALLSectorSorft11 小时前
定制客车系统票务管理系统功能设计
linux·服务器·前端·数据库·apache