如何判断Postgres中是否启用了数据校验和功能

时间:2014-04-11 11:23:48

标签: postgresql postgresql-9.3

Postgres 9.3引入了一种数据校验和功能,可以检测页面中的损坏。有没有办法查询数据库以确定它是否已启用?

托管在PaaS系统上,我无法访问实际的服务器来检查那里的任何配置设置。我也只能访问我们的数据库而不是主要的postgres数据库。有没有办法确定它是否仅来自psql控制台?

3 个答案:

答案 0 :(得分:14)

show data_checksums;
 data_checksums 
----------------
 off

http://www.postgresql.org/docs/current/static/runtime-config-preset.html

答案 1 :(得分:1)

您可以使用pg_controldata查看postgresql集群是否启用了data_checksum。 如果version = 0,则您的群集将禁用该功能。 而data_checksums参数由PostgreSQL 9.3.4添加,如果你的postgresql版本比那个小,你就不能选择这个guc参数。你必须通过控制文件检查它。

pg93@db-172-16-3-150-> pg_controldata |grep checksum
Data page checksum version:           0

答案 2 :(得分:0)

从9.4开始,您可以尝试以下查询:

select * from pg_settings where name ~ 'checksum';

https://paquier.xyz/postgresql-2/postgres-9-4-feature-highlight-data-checksum-switch-as-a-guc-parameter/