PG 数据文件

简介: 每个索引和表都是一个单独的文件,page页/段,默认1G,大于1G的page会被分割

物理位置

$PGDATA/base/databases_oid

查看数据路径

postgres=# show data_directory ;

   data_directory

/usr/local/postgresql/data
(1 row)

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

postgres=# select oid,datname from pg_database ;

 1 | template1

13292 | template0
13297 | postgres
16384 | test
16415 | pgadmintest
24597 | taobao
(6 rows)

postgres=# select relfilenode from pg_class where relname='subjects';

relfilenode

   16405

(1 row)

postgres=#
postgres=# select pg_relation_filepath('subjects');

pg_relation_filepath

base/13297/16405
(1 row)

文件超过 1GB 以后,Postgres 会把这个文件拆分成不超过 1G 的多个文件,文件末尾加上 .1 .2 .3 … 做编号。 如 24589 24589.1 24589.2 。
以关系OID命名的主数据文件,文件名以_fsm结尾的空闲空间映射文件,文件名以_vm结尾的可见性映射文件。

目录
相关文章
|
4月前
|
SQL 关系型数据库 数据库
【一文搞懂PGSQL】4.逻辑备份和物理备份 pg_dump/ pg_basebackup
本文介绍了PostgreSQL数据库的备份与恢复方法,包括数据和归档日志的备份,以及使用`pg_dump`和`pg_basebackup`工具进行逻辑备份和物理备份的具体操作。通过示例展示了单库和单表的备份与恢复过程,并提供了错误处理方案。此外,还详细描述了如何利用物理备份工具进行数据损坏修复及特定时间点恢复(PITR)的操作步骤,以应对误操作导致的数据丢失问题。
|
存储 SQL 关系型数据库
MySQL 利用 frm 文件和 ibd 文件恢复表结构和表数据
MySQL 利用 frm 文件和 ibd 文件恢复表结构和表数据
2038 0
|
监控 关系型数据库 MySQL
|
SQL Oracle 关系型数据库
Oracle 修改表空间数据文件存储位置
一、方法一 1、以表空间ZZH为例,offline 表空间ZZH SQL> alter tablespace ZZH offline; 2、复制数据文件到新的目录 cp /old_path/ZZH01.
3046 0
|
XML 数据格式
数据文件
数据文件
75 0
|
关系型数据库
备份工具pg_dump的使用《postgres》
备份工具pg_dump的使用《postgres》
356 0
|
关系型数据库 数据库
PG 控制文件
数据库启动时会读取控制文件,识别上次关机前的状态信息(元数据信息)
195 0
|
关系型数据库 数据库
PG 数据目录
详情
110 0
|
Oracle 关系型数据库 数据库
Oracle 快速创建 N 个表空间数据文件
Oracle 数据库是由无数个表空间组成,表空间是由无数个数据文件组成,数据文件存放在磁盘中。
|
监控 关系型数据库 MySQL
Mysql 通过frm&ibd 恢复数据
一次误操作,把数据库给搞乱了,innodb的数据库竟然无法直接恢复,还好找了一个文章,按文章进行,最后成功恢复。吓死我了,要是搞坏了,团队的人不背地骂死我了。 mysql存储在磁盘中,各种天灾人祸都会导致数据丢失。
3146 0