**目录版本号
** 是一个定义系统目录版本的数字。
目录版本号
的目的是防止 PostgreSQL 实例在与格式不兼容的数据目录中启动。这通常仅在运行预发布开发版本时才相关,因为 目录版本号
在主要版本的整个生命周期中保持稳定。
目录版本号
在PostgreSQL 7.0中添加。
格式
目录版本号
采用 YYYYMMDDN
格式,表示更改该数字的日期,其中 N 表示一个简单的计数器,以适应在同一天进行的多次更改。
获取目录版本号
目录版本号
包含在 pg_control 文件中,可以通过 pg_controldata 实用程序或 pg_control_system()
函数 (PostgreSQL 9.6 及更高版本) 获取。
请参见下面的示例。
用法
目录版本号
是一个内部实现细节,与正常的数据库操作无关。
它可能在任何程度上可见的唯一地方是在 表空间目录中创建的内部目录名称的一部分。
源代码
目录版本号
在 src/include/catalog/catversion.h 中定义。
更改历史记录
- PostgreSQL 7.0
- 添加 (提交 eae456cd)
示例
从 pg_control 获取 目录版本号
pg_controldata -D /var/lib/pgsql/data pg_control version number: 1300 Catalog version number: 202010291 Database system identifier: 6891881161586929758 ...
从 pg_control_system() 获取目录版本号
postgres=# SELECT catalog_version_no FROM pg_control_system(); catalog_version_no -------------------- 202010291 (1 row)