Понадобилось перенести базу в другое, отличное от /var/lib, место. оказалось, что стартовые скрипты postresql из /etc/chroot.d совершенно не обращают внимания на то, что написано в /etc/sysconfig/postgresql. в скриптах жестко прописано cd /var/lib/pgsql-root. почему не заменить '/var/lib/pgsql-root' на '$PG_CHROOT_DIR'? ну и еще менять ссылку /var/lib/pgsql на правильную.
Перевешиваю на более правильное имя пакета
На postgresql9.0-server.
Вообще не понятно, зачем сделали именно PG_CHROOT_DIR=путь, было бы честнее сделать boolean-переменную. Не уверен, что буду это фиксить, т.к. сам предпочитаю пускать без чрута.
postgresql9.0-9.0.1-alt4 -> sisyphus: * Fri Nov 12 2010 Vladimir V. Kamarzin <vvk@altlinux> 9.0.1-alt4 - Initscript: + Introduce "service postgresql initdb" and don't run initdb automatically. + Use SourceIfNotEmpty for sysconf-file sourcing. + Start postgres directly (without wrapping around "start_daemon --make-pidfile") and with output redirection to separate pgstartup.log (Closes: #19337). + When chroot mode enabled, adjust symlink /var/lib/pgsql at every startup. - Unhardcode PG_CHROOT_DIR, let users redefine it (Closes: #22287). - Return back pg_upgrade.