暂无图片
PostgreSQL数据库的文件存储在哪里?
我来答
分享
Jiang
2021-09-18
PostgreSQL数据库的文件存储在哪里?

PostgreSQL数据库的文件存储在哪里?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
三笠丶
暂无图片

initdb 的时候会指定一个 PGDATA 目录,这就是 PostgresQL 存储数据的地方。典型的位置是在 /postgres/data a 。PGDATA 下面各项存储的内容大概是:

文件或目录名 存储内容
PG_VERSION PostgresQL 实例的版本号如 9.3 之类的
base 每个 database 会在 base 目录下有一个子目录
global Postgres 自己的 meta 数据库存放的地方(全局 DB)
pg_xlog WAL(Write Ahead Log 预写式日志)存放的地方
其他 其他不知道干啥的目录还有好多

base 目录是最重要的一个目录,放的是每一个 database 的数据。base 目录里的每一个数字目录对于一个 database 的 oid, 可以通过 查看 pg_database 这张表查看每一个 数据库的 oid 。

select oid, datname from pg_database ;

可以看到 oid和文件夹的名称是对应的。
每一张表的数据(大部分)又是放在 base/(oid)/(relfilenode) 这个文件里面:

select relname, relowner, relfilenode from pg_class where relowner = 10 ; --或者可以加入表名称的过滤 select relname, relowner, relfilenode from pg_class where relowner = 10 and relname like '%viid%';

具体可以参考:https://blog.csdn.net/carcarrot/article/details/110088439

暂无图片 评论
暂无图片 有用 1
暂无图片
Jiang
题主
2021-09-18
谢谢
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏