Bug 13150

Summary: [ovz] please enhance default configuration regarding VPS operations
Product: [Development] Sisyphus Reporter: Michael Shigorin <mike@altlinux.org>
Component: postgresql8.2-serverAssignee: Ivan Fedorov <ns@altlinux.org>
Status: CLOSED WONTFIX QA Contact: qa-sisyphus@altlinux.org
Severity: normal    
Priority: P2 CC: misha@altlinux.org, mithraen@altlinux.org, thresh@altlinux.org, vvk@altlinux.org
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 14168    

Description From 2007-10-17 17:26:29
из devel@:

> MS> Ещё ловил (и вешал) грабли с нестартующим по крайней мере в VE
> MS> postgresql.
> 8.1 или 8.2?
Любой.  Если об'ём доступной шареной памяти сильно не
соответствует тому, что задано в конфиге.  Это зависит не только
от лимитов VE, но и от конфигурации HN (kernel.shm_*).

Кстати, postgresql об этом честно пишет в лог, IIRC.
(http://lists.altlinux.org/pipermail/devel/2007-October/064948.html)

не далее как вчера имел счастье видеть postgres, не запустившийся в ovz
из-за нехватки шареной памяти, и ничего не написавший в лог.
(http://lists.altlinux.org/pipermail/devel/2007-October/064959.html)
------- Comment #1 From 2008-02-17 23:35:10 -------
Мальчики, ну сделайте что-нибудь!  4.1 с этим бы не хотелось, да. :)
------- Comment #2 From 2008-02-18 12:37:08 -------
Кстати, не мешало бы тогда постгресу по умолчанию объяснять, что сообщения об
ошибках стоит кидать через syslog, т.к. заметно проще их отлавливать в таком
случае.

Т.е. постгрес ругаться может и будет на нехватку shared memory, но это пойдет
на
STDERR, который при запуске через service на консоль не выводится (у меня точно
не выводится).
------- Comment #3 From 2008-02-18 13:29:36 -------
у всех не выводится. нужно либо по умолчанию настроить запись лога в файл либо
в
syslog.
------- Comment #4 From 2008-02-18 13:36:22 -------
(In reply to comment #3)
> у всех не выводится. нужно либо по умолчанию настроить запись лога в файл либо в
> syslog.

Кроме варианта с правкой postgresql.conf после отработки initdb какие-нибудь
адекватные варианты есть?

Впрочем, после initdb можно заодно посмотреть на доступные ресурсы/локали и
соответственно конфиг поправить, пока базу юзать не начали.
------- Comment #5 From 2008-02-18 13:40:32 -------
поправить исходники, чтобы в рез-тате выполнения initb конфиг был правильным
сразу.
------- Comment #6 From 2008-02-18 18:35:55 -------
(In reply to comment #5)
> поправить исходники, чтобы в рез-тате выполнения initb конфиг был правильным
сразу.

Функцию setup_config() в initdb.c поправить можно, но есть подозрение, что
такого лучше не делать, т.к. тогда у нас initdb должен будет слишком много знать
о внешнем мире.

Я бы скорее сделал враппер к initdb, которым поправил то, что получится после
создания кластера БД штатными средствами.
------- Comment #7 From 2008-02-18 19:13:22 -------
в нашем внешнем мире всегда есть какой-либо syslog. поэтому я лично не вижу
причины, по которой такое знание "слишком много".
------- Comment #8 From 2009-05-16 15:26:30 -------
где-то ближе к 8.4 сделаю правки дефолтов для вывода логов...
------- Comment #9 From 2010-11-03 10:57:30 -------
Это актуально для 8.4 или нет?
------- Comment #10 From 2010-12-02 10:39:34 -------
postgresql8.2-server удалён из сизифа. В 9.0 пишется pgstartup.log.