**目录版本号
** 是一个定义系统目录版本的数字。
目录版本号
的目的是防止 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)