背景
[zgy@intel175 pgbench]$ coord1
psql (PGXC 1.2devel, based on PG 9.3.13)
Type "help" for help.
postgres=# select count(*) from test1000;
ERROR:catalog is missing 1 attribute(s) for relid 46954523
在数据库运行过程中,偶然出现属性丢失的现象。
测试场景
由于最近几次偶现的属性丢失的都是系统表,用户自建的表属性都很稳定。本次测试重点放在系统表的变更上。采用postgresql自带的pgbench测试工具。并发随机对1万张表进行写操作,同时并发对这批表进行ddl属性更新。最后逐个对这个表进行查询,来验证是否出现表属性丢失的现象。
测试集群架构如下(2C2D,一主一从架构):
Coord1和DB1,DB2均开启xlog日志归档:
[zgy@intel175 pgbench]$ adbmgr
psql (PGXC 1.2devel, based on PG 9.3.13)
Type "help" for help.
postgres=# set datanode all (archive_mode='on',archive_command = 'test ! -f /data/zgy/archive_xlog/%f && cp %p/