我的MaximumUsedTransactionIDs
似乎在无限期地增长,但我有这些证据表明我不应该这样做:
$ PGPASSWORD=$MY_USER_LAND_RDS_SUPER_USER_PASSWORD psql -h $MY_RDS_INSTANCE -d
my_main_data_base -U $MY_USER_LAND_RDS_SUPER_USER
psql (9.5.8, server 9.5.10)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits:
256, compression: off)
Type "help" for help.
my_main_data_base=> SELECT datname FROM pg_database;
datname
-------------------
template0
rdsadmin
template1
postgres
my_main_data_base
another_data_base
(6 rows)
my_main_data_base=> VACUUM FREEZE; SELECT relname, age(relfrozenxid) AS xid_ag
e FROM pg_class JOIN pg_stat_all_tables USING (relname) ORDER BY xid_age DESC
LIMIT 5;
VACUUM
relname | xid_age
----------------------+---------
pg_toast_1150794 | 63707
a_user_table | 63707
another_user_table | 63707
pg_toast_1223948 | 63707
pg_toast_1223998 | 63707
(5 rows)
my_main_data_base=> \q
$ PGPASSWORD=$MY_USER_LAND_RDS_SUPER_USER_PASSWORD psql -h $MY_RDS_INSTANCE -d
another_data_base -U $MY_USER_LAND_RDS_SUPER_USER
psql (9.5.8, server 9.5.10)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits:
256, compression: off)
Type "help" for help.
another_data_base=> VACUUM FREEZE; SELECT relname, age(relfrozenxid) AS xid_ag
e FROM pg_class JOIN pg_stat_all_tables USING (relname) ORDER BY xid_age DESC
LIMIT 5;
VACUUM
relname | xid_age
--------------------+---------
pg_toast_2964 | 12350
pg_toast_3592 | 12350
pg_toast_2396 | 12350
pg_db_role_setting | 12350
pg_authid | 12350
(5 rows)
another_data_base=> \q
$ _
$MY_USER_LAND_RDS_SUPER_USER
是AWS作为超级用户提供给我的。从RDS的角度来看,它是一个超级用户,但从PostgreSQL的角度来看,它是而不是的超级用户。
我原以为现在MaximumUsedTransactionIDs
会减少,但它没有。它仍然在~80.000.000
左右。
我已经计划在它到达100.000.000
之后,我将发送一个RDS实例的开发版本,使它能够引导autovacuum
进程。
MaximumUsedTransactionIDs
是怎么回事?为什么它不收缩?autovacuum
会照顾MaximumUsedTransactionIDs
吗?autovacuum
是否与我的场景无关,因为我不时在我所有的用户土地数据库上手动运行不合格的VACUUM FREEZE
s?MaximumUsedTransactionIDs
吗?rdsadmin
到SELECT
age(relfrozenxid)
吗?编辑,完成第一个请求,添加.
$ PGPASSWORD=$MY_USER_LAND_RDS_SUPER_USER_PASSWORD psql -h $MY_RDS_INSTANCE -d
my_main_data_base -U $MY_USER_LAND_RDS_SUPER_USER
psql (9.6.6, server 9.5.10)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits:
256, compression: off)
Type "help" for help.
postgresql=> SELECT datname, datfrozenxid FROM pg_database;
datname | datfrozenxid
-------------------+--------------
template0 | 1822
rdsadmin | 1822
template1 | 1822
postgres | 1822
my_main_data_base | 76628948
another_data_base | 76681257
(6 rows)
postgresql=> \q
$ _
发布于 2018-10-29 19:51:08
激活参数组中的自动真空,当它达到配置级别(最小100.000.000)时,它将启动,MaximumUsedTransactionIDs
将急剧下降。
https://dba.stackexchange.com/questions/204305
复制相似问题