2014-04-22 40 views
6

我在我的Openshift Online磁带上安装了Postgres 9.2。使用Pgadmin3,我已经启用了(通过在框中打勾)postgresql.conf的autovuum设置。但是,autovacuum似乎并没有运行。Autovacuum未在Openshift Online Postgres磁带上运行

以下是我有:

  1. ps -ef | grep -i vacuum 没有自动清理过程中。

  2. 使用PSQL控制台,show autovacuum说,它的值是ON

  3. 使用PSQL控制台,SELECT schemaname, relname, last_vacuum, last_autovacuum from FROM pg_stat_user_tables;给出last_vacuum,即使我用pgadmin3做了人工负压通过维护功能last_autovacuum列中没有价值。

  4. 在pgAdminIII DB中的属性选项卡说,“没有运行”

我怎么会错过的自动清理价值?

编辑
我也不能Openshift网上试图找到服务器上的文件时访问在postgresql.conf - 希望能够手动编辑该文件,而不是使用pgAdminIII的。
- 找到这个https://www.openshift.com/forums/openshift/how-do-i-set-maxpreparedtransactions-on-my-postgresql-cartridge我现在可以查看/编辑我的postgresql.conf。很明显,autovacuum已经启用了,因此conf具有正确的设置。

当问题pg_ctl restart -m fast我得到了

LOG: could not bind socket for statistics collector: Permission denied 
LOG: trying another address for the statistics collector 
LOG: could not bind socket for statistics collector: Permission denied 
LOG: trying another address for the statistics collector 
LOG: could not bind socket for statistics collector: Cannot assign requested address LOG: trying another address for the statistics collector 
LOG: could not bind socket for statistics collector: Cannot assign requested address LOG: disabling statistics collector for lack of working socket 
WARNING: autovacuum not started because of misconfiguration 
HINT: Enable the "track_counts" option. 
LOG: database system was shut down at 2014-04-22 09:58:19 GMT 
LOG: database system is ready to accept connections 

虽然track_counts已被设置为在postgresql.conf中

对不起,这么愚蠢的,但任何帮助或指针是大加赞赏。 预先感谢您。

+0

请确保您在交易中的州'没有会话。他们将防止自动吸尘器清除旧值 –

+0

感谢您迅速作出回应,但我如何检查该值。不太确定我明白这是什么交易。谢谢。 – green

+0

作为超级用户:'select * from pg_stat_activity' –

回答

4

我遇到了类似的问题,发现this discussion一个有用的提示:

...一些疯狂原因,openshit禁用本地主机,自动清理和只连接到本地主机,我想这是有道理的他们不想试图吸取一个远程数据库...但打开它打破自动清理。

我发现的一个解决方案(我可能会使用)是手动添加一个强制真空的cronjob。 here是一个批处理脚本,看起来很有前途,但要小心强制真空可能涉及的副作用(当然取决于您的应用程序)。

+0

我患有同样的问题,但它不能解决我的问题问题 –

0

修补postgres使用OPENSHIFT_PG_HOST环境变量而不是localhost似乎可以解决问题:pgstat.patch