У меня есть Postgres 9.2 на моем картридже Openshift Online. Используя Pgadmin3, я включил (пометив галочку) настройку autovuum для postgresql.conf. Однако автовакуум, похоже, не работает.Autovacuum не работает на Openshift Online Postgres картридж
Вот что у меня есть:
ps -ef | grep -i vacuum
Никакой процесс автовакууминг не показан.Использование Psql консоли,
show autovacuum
, говорит, что его значение ONИспользования Psql консоли
SELECT schemaname, relname, last_vacuum, last_autovacuum from FROM pg_stat_user_tables;
не дает никакого значения в last_vacuum и last_autovacuum колонка, даже если я сделал ручной вакуум с помощью функции технического обслуживания с помощью pgadmin3.Вкладка свойств на дб в pgAdminIII говорит значение автовакуумной из «не работает»
Что мне не хватает?
EDIT
Я также не могу получить доступ к postgresql.conf на OpenShift онлайн, пытаясь найти файл на сервере - в надежде вручную отредактировать файл вместо использования pgAdminIII.
- Найдено https://www.openshift.com/forums/openshift/how-do-i-set-maxpreparedtransactions-on-my-postgresql-cartridge
Теперь я могу просмотреть/редактировать мой postgresql.conf. По-видимому, автовакуум уже включен, поэтому у 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
Извините за то, что так глупо, но любая помощь или указатели оценены. Спасибо заранее.
Убедитесь, что у вас нет сеансов в состоянии ' в транзакции'. Они предотвратят автоматический вакуум от очистки старых значений. –
Благодарим вас за быстрый ответ, но как я могу это проверить. Не совсем уверен, что я понимаю, что это за транзакция. Спасибо. – green
В качестве суперпользователя: 'select * from pg_stat_activity' –