Не стартует postgresql linux

Ошибка запуска postgress 12

Добрый день. Ночью отключали питания. После этого перестал стартовать постгресс. При запуске задумывается минуты на 2. После чего ошибка запуска

Выхлоп с journalctl -xe

А в самом логе постгреса есть что-то?

Для начала сделайте бекапы данных если еще не сделали, я так понимаю, что за файловая система у вас на сервере, насколько хорошо она была восстановлена после сбоя? Я так понимаю вы не снимаете ежедневные бекапы с базы? Еще можете посмотреть эту статью она по вашей теме. Также я посоветовал бы если есть возможность клонировать данный инстанс если это виртуальный сервер, то так и поступить перед тем как практиковаться на кошках. Исходя из статьи данные восстановить можно, но с частичной потерей.

Бэкапы есть только тех баз что нужны. Остальные тестовые. Не так важны.
Эту статью я читал но проблема в том что из этого релиза разработчики почему то исключили pg_xlogdump

Проверил диск, битых секторов нет. [br] Тут вся проблема в том что нет контрольной точки[br] ПАНИКА: не удалось считать правильную запись контрольной точки[br]

Источник

Postgresql сервер не запускается

[Ubuntu 16.04] Я установил postgresql 9.5 вместе с зависимостями:

Когда я хочу бежать psql тогда я получаю:

Но /var/run/postgresql/ пустой. Когда я перезапускаю posgresql, все выглядит нормально:

но если проверить ps aux нет такого PID (почему??)

Полная переустановка не помогает вообще. Как я могу это исправить?

9 ответов

Это особенность интеграции systemd PostgreSQL в Xenial.

Служебный модуль postgresql, установленный пакетом postgresql-common, является всего лишь фиктивной службой, которая заставляет фактическую службу [email protected] запускаться через зависимость. Вы можете увидеть эту зависимость, выполнив команду

Эта зависимость не является постоянной, но генерируется во время загрузки системы генератором systemd /lib/systemd/system-generators/postgresql-generator который также поставляется с пакетом postgresql-common. Генератор проверяет, включен ли режим запуска в файл /etc/postgresql/9.6/main/start.conf установлен в auto и, если это так, устанавливает зависимость, которая впоследствии вызывает запуск экземпляра 9.6-main.

(Точнее, он проверяет все подкаталоги конфигурации /etc/postgresql/*/* и создаст зависимости для всех экземпляров, которые настроены для автоматического запуска, но при установке по умолчанию будет только один экземпляр.)

Из-за ограничений системных генераторов (см. man systemd.generator ) этот процесс может завершиться неудачей, что приведет к отсутствию зависимостей после перезагрузки. Затем Systemd запустит только фиктивный сервис

в журнал, но в остальном ничего не делать. Попытка запустить службу вручную

будет просто воспроизвести этот результат. Выполнение команды

вручную от имени root перезапустит генератор и в большинстве случаев решит проблему до следующей перезагрузки.

Источник

postgres запускается, но не запускается

Знаю, что уже замылили эту тему, но все, что я нашел не помогло или не соответствует моей ситуации, так что прошу помощи знатоков.

Читайте также:  Dell не включается windows

на что получаю сообщение, что все ok

при запуске ошибок не выдает но и не запускается.. как так? при этом

Active: active (exited) since Wed 2017-11-08 10:32:43 MSK; 26min ago

а чуть подробнее??

could not connect to server: Connection refused

А ты роли добавил?

Что тебе нужно подробнее? здесь и так все ясно написано

ну, видимо, мне не ясно, раз я спрашиваю. Логично же.

я не понимаю, что ему нужно от меня?

postgresql.service — запускает все настроенные инстансы постгреса в убунте, для того чтобы запустить нужный нужно стартовать postgresql- .service.

createuser —interactive сделай, добавь пользователя дай ему нужную роль, зайди от него.

В соединении отказано, всё работает, просто у тебя нет доступа

ну, видимо, мне не ясно, раз я спрашиваю. Логично же.

Ну, кроме вчитаться в текст я тебе больше ничего предложить не могу

В соединении отказано, всё работает, просто у тебя нет доступа

Это не значит, что нет доступа, это значит, что там попросту некому это соединение принимать.

вот жесть-то, и советчики такие же.

Я и говорю что ролей нет

Ну так насоветуй )

Ты бы внимательно прочитал на что отвечаешь.

Там не то, что ролей, там и самого процесса постгресса нет

Что в pgstartup.log?

мне не добавить роль

Тьфу блин, ай нуу, пойду кофе пить и просыпаться 😀

у меня такого нет

Значит есть /var/lib/postgresql/версия/pg_log/*.log

Покажи systemctl list-units|grep postgres

Там должен быть сервис вида postgresql@9.5-main.service. Вот его и запускаешь, systemctl start postgresql@9.5-main.service.

Если нет, то смотришь в /var/lib/postgres, есть ли там что-нибудь. Если там пусто, значит у тебя нет базы, и ее нужно создать.

Точно нет? Показывай /etc/init.d/postgresql — посмотрим, что там в убунтушном инит-скрипте накручено.

Какой инит-скрипт, у него systemd.

У убунты логи постгреса в /var/log/postgresql. Смотри почему он фейлится. Ну и можешь journalctl -e -u postgresql@9.5-main.service глянуть.

смотри во время запуска/перезапуска сервиса
tail -F /var/log/syslog

ОтЭтот пунктец: Step # 2: Allow communication over TCP/IP

)) А анон в теме, да. Или шарит по английски 😉

я не понимаю, что ему нужно от меня?

Он должен (psql) через чёта общаться. SocketЫ там, порты всякие.

See «systemctl status postgresql@9.5-main.service» and «journalctl -xe» for details.

Эти команды что пишут?

в логе ппусто, а в журнале:

В конфиге что-нибудь менял?

Попробуй запустить так

ничего не менял. Все работало раньше, а потом в один момент упало. никто даже не подключался к серверу, только если через http

И после этого в логах ничего нет?

Читайте также:  Fabfilter aax mac os

Место-то на сервер есть? df -h что показывает?

серьезно нет места.

это не нормально.

да действительно проблема была в свободном месте.

Спасибо всем за помощь!

Такая же проблема, но со свободным местом проблем нет. При этом: — вся эта ситуация происходит только после перезапуска самой ОС (Ubuntu Server 16.04 32bit); — netstat -tulpn(-pant) | grep postgres ничего не выводит — пусто; — psql -U postgres -h ip-сервера postgres psql: не удалось подключиться к серверу: Connection refused Он действительно работает по адресу «ip-сервера» и принимает TCP-соединения (порт 5432)? — где «ip-сервера» — адрес сервера с БД;

— если после старта ОС немного подождать и просто перезапустить демон postgresql (service postgresql stop/start), то проблема уходит. Правда, не всегда после первого рестарта. Иногда нужно несколько раз перезапустить демон.

Никогда раньше такого не видел. Куда копать ума не приложу. Перерыл интернет, — наткнулся сюда. Хэлп.

Источник

Не стартует postgresql

Достался по наследству сервер с постгрес, причем в виде дампа рсинком винча.

Раскатал внутренности в виртуалку, пытаюсь поднять. Внутри какой-то ужас с правами, пришлось руками много чего поправлять.

Пытаюсь сейчас поднять постгрю — инит скрипт вываливается с ошибкой, в логах пусто. Пытаюсь стартануть через pg_ctl start и sudo -u postgres ./postgres -D /etc/postgresql — молча выполняются, отпуская обратно в консоль. Пытался включать дебаг (-d 5), но он тупо выдает переменные окружения и все. Почему падает — не понятно.

Подскажите, пожалуйста, как его отдебажить или хотя бы выяснить причину падений?

Права по дефлоту — postgres:postgres(7(6)00)
С другой базой стартует?

С ними все в порядке, по идее. С другой базой не пробовал.

Напрягает, что он валится молча.

Запусти другую базу.
Версии постгреса разные? Разных веток?

Версии постгреса разные? Разных веток?

Постгрес целиком рсинком перенесен. То есть и бинарники и сама система.

Если бы версии были разные — он бы матерился на версию, а тут тишина. Ща попробую с другим конфигом запустить.

молча выполняются, отпуская обратно в консоль

давно не настраивал постгрес, но. может оно демонизируется? 🙂 Я бы ещё и через strace -s128 -f прогнал

Гонял без опций, ничего не ясно было. Сейчас с ними попробую, спасибо.

А что за система? В логах пусто?

Кстати, а как rsync делался? Надеюсь, хотя бы с параметром -a?

А как вывод strace перенаправить? тупо > в файл не работает, все равно все летит в stdout.

5ый дебиан 64. Логи пустые, да 🙁

Кстати, а как rsync делался? Надеюсь, хотя бы с параметром -a?

Само собой. Без /dev и /proc, остальное все на месте.

strace -f -s 128 -o

Я бы хотел взглянуть на стрейс, только учти что там могут пролетать пароли, приватные файлы итп.

Читайте также:  Для чего нужно залипание клавиш windows 10

Там 6ти метровый выхлоп 🙂

и не с такими работали, выкладывай если там нет ничего приватного.

В выхлопе стрейс увидел, что он не может прочитать /etc/postgresql, ибо права рута на ней. поправил на postgres — все стартануло.

И при этом молчит?? Может в strace написано что оно, например, в /dev/syslog какой-нить пыталось писать, но логи пусты потому что, скажем, системный логгер не запущен?

Да. Суть в том, что один горе-разработчик фиганул на все (включая bin, sbin, etc и тд) своего юзверя. И оно умудрялось как-то работать. А я сейчас пытаюсь это привести в порядок и поднять. Жалко, что насилие запрещено.

логи пусты потому что, скажем, системный логгер не запущен?

Нет, rsyslogd пишет, от нтп, от много чего. только вот от постгри там тишина.

Источник

Запуск Postgresql 9.4 на Debian 8 после незапланированного отключения

Вопрос рабочий, не праздный. Поэтому могу заплатить за консультацию.

У клиента машина, на машине VirtualBox, в нём Debian 8 с intranet-приложением (nginx+php+postgres), без подключения к Глобальной Сети (т.е. обновляю вручную, путём подмены виртуальных дисков, без замены диска с самими клиентскими данными)

То у него электричество отключают, то сам свою машину убивает — время от времени машинка неожиданно схлопывается вместе с виртуалкой.

Года два так оно и работало. Само поднималось. А последние пару месяцев Postgres перестал стартовать после таких сбоев. (Скорее всего, это может быть связанно с выросшим объёмом данных — не успевает теперь подняться и проверить всё, до того как systemd решит, что Postgres скис (мне так кажется))
Просто молчит.
Еду ногами к клиенту и запускаю руками /usr/lib/postgresql/9.4/bin/pg_ctl -D [путь] stop и (*) start — руками запускается. Через service start\stop — нет.

Поднадоело. И людям дискомфортно, и самому как на иголках.

Указывал в конфиге pg_ctl_option = ‘-w’ (чтобы ожидало старта) — не помогает.

Самое непонятное — не могу повторить это поведение у себя на рабочей машине. У меня в любом случае нормальный старт — хоть из розетки выключай. Тот же VBox, тот же Debian и остальное — всё одинаковое (кроме самих данных). Получается, что у себя проблему не вижу, а у людей сидеть долго не могу, потому что эта машинка занята человеками.

У того же клиента рядом стоит железная машина cо старой AstraLinux (на Debian 7) — она тоже нормально стартует после неожиданных отключений.

Переехать в нормальный ДЦ не хотят (не могут), выделить средства на еще одну железную машинку тоже не хотят (не могут).

Это должно быть что-то про таймауты/systemd/ожидание/перезапуск/чистка хвостов от прошлого запуска. Как правильно сконфигурировать запуск Postgres, подразумевая возможные нештатные остановки?

Источник

Оцените статью