На нашем производственном сервере работает PostgreSQL v8.2.3 на Red Hat Enterprise Linux Server версии 5 (Tikanga).
По какой-то причине сборщик статистики в PostgreSQL не работает.
Даже разместил этот вопрос в списке рассылки PostgreSQL здесь: Сборщик статистики не собирает данные о действиях сервера
Причины, по которым, по их словам, не запускается сборщик статистики:
У нас нет запущенной антивирусной программы или включен SE-Linux на сервере.
К настоящему времени я также уверен, что в моем случае это из-за 4-й причины, то есть проблемы с созданием сокетов UDP.
Я не эксперт в Linux iptables. Есть ли что-нибудь, что мне нужно разрешить / удалить в iptables, чтобы разрешить создание сокетов UDP.
НОТА: База данных работает как пользователь "postgres".
Вот мой iptables
запись:
[root@myserver ~]# more /etc/sysconfig/iptables
# Generated by iptables-save v1.3.5 on Mon Sep 14 20:04:30 2009
*nat
:PREROUTING ACCEPT [10934:1556118]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [111392:6686084]
-A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 5050
-A POSTROUTING -j MASQUERADE
-A OUTPUT -d 192.168.0.200 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.200:5050
-A OUTPUT -d 127.0.0.1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 127.0.0.1:5050
COMMIT
# Completed on Mon Sep 14 20:04:30 2009
# Generated by iptables-save v1.3.5 on Mon Sep 14 20:04:30 2009
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -j ACCEPT
-A FORWARD -j ACCEPT
-A OUTPUT -j ACCEPT
COMMIT
# Completed on Mon Sep 14 20:04:30 2009
Приветствуются советы специалистов по решению этой проблемы запуска сборщика статистики.
ОБНОВИТЬ: С того дня, как у нас возникла эта проблема, у нас возникло небольшое подозрение на брандмауэр iptables. Итак, мы наконец решили отключить брандмауэр iptables на сервере и попробовать. Итак, если я полностью отключу / остановлю брандмауэр iptables, выполнив service iptables stop
а затем, если я перезапущу службу PostgreSQL, Вуаля !! Сборщик статистики PostgreSQL работает нормально с отключенным / остановленным брандмауэром iptables.
Обнаружена и устранена проблема создания сокетов UDP. Это было из-за межсетевого экрана ОС (iptables
) ограничение на создание сокетов UDP.
Я полностью очистил все существующие правила iptables, а затем перезапустил службу iptables. Теперь он работает, и сборщик статистики PostgreSQL также начал работать, как ожидалось.
См. Опубликованные мной вопросы и ответы по этому поводу: команда iptables для очистки всех существующих правил
Интересно, как это может быть связано с iptables, поскольку по умолчанию все для вас, кажется, находится в состоянии ACCEPT. Есть ли у сервера PostgreSQL этот IP-адрес 192.168.0.200? Хотя все, что связано со сборщиком статистики, не должно работать на порту 80 ...
Вы абсолютно уверены, что с вашей конфигурацией PostgreSQL все в порядке? В следующий раз я бы это проверил.