Postgres 9.3引入了一种数据校验和功能,可以检测页面中的损坏。有没有办法查询数据库以确定它是否已启用?
托管在PaaS系统上,我无法访问实际的服务器来检查那里的任何配置设置。我也只能访问我们的数据库而不是主要的postgres数据库。有没有办法确定它是否仅来自psql控制台?
答案 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';