Вся предоставленная на этом сервере информация собрана нами из разных источников. Если Вам кажется, что публикация каких-то документов нарушает чьи-либо авторские права, сообщите нам об этом.
Есть несколько общих причин по которым postmaster отказывается стартовать.
Проверь log файл postmaster или запусти его вручную (без перенаправления
стандартного вывода или стандартного потока ошибок), чтобы увидеть какие
сообщения выдаются. Некоторые возможные сообщения об ошибках говорят
сами за себя, а вот которые нет:
FATAL: StreamServerPort: bind() failed: Address already in use
Is another postmaster already running on that port?
Это, обычно, означает что только можно предположить: ты случайно
запускаешь второго postmaster на том же порту где один уже есть.
Однако, если сообщение об ошибке ядра не "Address already in use"
или какой-то вариант этих слов, то это может быть другая проблема.
Например, попытайся запустить postmaster на зарезервированном номере порта
$ postmaster -i -p 666
FATAL: StreamServerPort: bind() failed: Permission denied
Is another postmaster already running on that port?
Сообщение типа этого, вероятно, означает, что предел размера ядра
разделяемой области памяти меньше чем область буфера, которую Postgres пытается
создать. (Или это может означать что ты не имеешь поддержки
SysV-типа разделяемой памяти, которое всегда настраивается в ядре.)
В качестве временной рабочей области, ты можешь запустить
postmaster с меньшим чем нормальным числом буферов (-B переключатель).
Однако, в конце концов, ты захочешь переконфигурировать ядро, увеличив
разрешённый размер разделяемой памяти.
Ты можешь увидеть это сообщение, когда попытаешься запустить несколько
postmasterов на одной машине, если её общее пространство запросов превысит
предел ядра.
IpcSemaphoreCreate: semget failed (No space left on device) key=5440026, num=16, permission=600
Сообщение, подобное этому, не означают, что ты забил дисковое пространство;
оно означает, что предел ядра на число SysV семафоров, меньше чем
число, которое хочет создать Postgres. Как указывалось выше, обойти
эту проблему, запустив postmaster с уменьшенным числом
процессов сервера (-N переключатель), но в конце концов,
ты захочешь увеличить предел ядра.