Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
最古老的xmin已经远去——Postgresql 9.4.4_Postgresql_Replication_Database Replication_Postgresql 9.4 - Fatal编程技术网

最古老的xmin已经远去——Postgresql 9.4.4

最古老的xmin已经远去——Postgresql 9.4.4,postgresql,replication,database-replication,postgresql-9.4,Postgresql,Replication,Database Replication,Postgresql 9.4,我在生产环境中使用了postgresql 9.4.4。 3周以来,我在pg_日志中收到了很多信息: <:::2020-04-06 23:59:59 BRT::2020-04-06 23:59:55 BRT:72350>|LOG: automatic vacuum of table "template0.pg_catalog.pg_range": index scans: 0 pages: 0 removed, 1 remain tuples: 0 removed,

我在生产环境中使用了postgresql 9.4.4。 3周以来,我在pg_日志中收到了很多信息:

<:::2020-04-06 23:59:59 BRT::2020-04-06 23:59:55 BRT:72350>|LOG:  automatic vacuum of table "template0.pg_catalog.pg_range": index scans: 0
    pages: 0 removed, 1 remain
    tuples: 0 removed, 6 remain, 0 are dead but not yet removable
    buffer usage: 20 hits, 0 misses, 0 dirtied
    avg read rate: 0.000 MB/s, avg write rate: 0.000 MB/s
    system usage: CPU 0.00s/0.00u sec elapsed 0.00 sec
<:::2020-04-07 00:00:00 BRT::2020-04-06 23:59:59 BRT:72428>|WARNING:  oldest xmin is far in the past
<:::2020-04-07 00:00:00 BRT::2020-04-06 23:59:59 BRT:72428>|HINT:  Close open transactions soon to avoid wraparound problems.
所以,我不能放弃这个,因为它在使用中。我的两台服务器正常运行,除了日志中的这些消息

My server:
autovacuum = on 
archive_mode = on
wal_keep_segments = 20
max_wal_senders = 3
max_replication_slots = 3
wal_level = hot_standby
hot_standby = on
archive_command = 'test -f %p && cp %p /opt/postgres/archxlog/%f'
My recovery.conf(在另一台服务器上,使用备用复制):

谢谢你的帮助

编辑:

在谷歌上搜索,我发现了这个网站:

他们说,这个问题与流媒体上挂起的子传输有关

查看文件夹pg_subtrans,我发现了很多如此古老的文件

ls -lha | more
total 1,4G
drwx------.  2 postgres postgres  92K Abr 27 10:56 .
drwx------. 19 postgres postgres 4,0K Fev 21 16:38 ..
-rw-------   1 postgres postgres 256K Dez 11 11:07 A99B
-rw-------   1 postgres postgres 256K Dez 11 11:07 A99C
-rw-------   1 postgres postgres 256K Dez 11 11:07 A99D
-rw-------   1 postgres postgres 256K Dez 11 11:07 A99E

我的复制品大约是今年2月底。因此,这些文件不是最新的。清除此文件夹的最佳方法是什么?

我设法解决了这个问题

我停止了复制并丢弃了复制插槽。 当我这样做的时候,pg_子Trans被清理,警告消失了

但是,我失去了复制,不得不从头开始

现在一切正常


谢谢大家

可能与您的问题无关,但是:Postgres9.4是您应该尽快计划升级。你至少应该使用最新的9.4版本,即9.4.25版本,并且有请发布
select*from pg_prepared_xacts的输出:如果此视图中有行,则表示您仍有准备好的事务等待完成,因为如果事务已完成,则应删除行(准备好回滚并不意味着已完成回滚)。运行
真空(冻结、详细)时是否会得到相同的结果
手动在桌子上?您好@一匹没有名字的马!是的,我们已经计划更新这个服务器了。但我认为这是不可能的。Hello@pifor,我已经做好了回滚准备,所以我现在在这个视图中没有任何行。交易是否可以存在于其他地方@paurenz,因为我不能在template0中连接,所以我不能执行
真空(冻结,详细)
。我能用另一种方法吗?
standby_mode = 'on'
primary_conninfo = 'user= host= port= sslmode=disable sslcompression=1'
primary_slot_name = 'replica'
ls -lha | more
total 1,4G
drwx------.  2 postgres postgres  92K Abr 27 10:56 .
drwx------. 19 postgres postgres 4,0K Fev 21 16:38 ..
-rw-------   1 postgres postgres 256K Dez 11 11:07 A99B
-rw-------   1 postgres postgres 256K Dez 11 11:07 A99C
-rw-------   1 postgres postgres 256K Dez 11 11:07 A99D
-rw-------   1 postgres postgres 256K Dez 11 11:07 A99E