Я имею VPS с Ubuntu 14.04.5 LTS (GNU/Linux 2.6.32-042stab127.2 x86_64) и также установил Postgresql. Я использую Postgresql в рубине на приложении направляющих. Внезапно мое приложение прекратило работать, бросив ошибку
не мог соединиться с сервером: Никакой такой файл или каталог Не Является сервером, работающим локально и принимающим соединения на сокете домена Unix "/var/run/postgresql/.s. PGSQL.5432"?
$psql -V
psql (PostgreSQL) 11.0 (Ubuntu 11.0-1.pgdg14.04+2)
$pg_config --version
PostgreSQL 11.0 (Ubuntu 11.0-1.pgdg14.04+2)
$postgres -V
The program 'postgres' is currently not installed. You can install it by typing:
apt-get install postgres-xc
$locate bin/postgres
/usr/lib/postgresql/11/bin/postgres
/usr/lib/postgresql/9.3/bin/postgres
/usr/lib/postgresql/9.4/bin/postgres
/usr/lib/postgresql/9.5/bin/postgres
$/usr/lib/postgresql/11/bin/postgres -V
postgres (PostgreSQL) 11.0 (Ubuntu 11.0-1.pgdg14.04+2)
$pg_lsclusters
9.3 main 5432 down postgres /var/lib/postgresql/9.3/main /var/log/postgresql/postgresql-9.3-main.log
11 main 5433 down postgres /var/lib/postgresql/11/main /var/log/postgresql/postgresql-11-main.log
Состояние пост-ГРЭС снижается
$service postgresql status
9.3/main (port 5432): down
11/main (port 5433): down
$systemctl status postgresql.service
postgresql.service
Loaded: error (Reason: No such file or directory)
Active: inactive (dead)
$systemctl status postgresql@9.3-main.service
postgresql@9.3-main.service
Loaded: error (Reason: No such file or directory)
Active: inactive (dead)
$grep-H '^port'/etc/postgresql / */main/postgresql.conf/etc/postgresql/11/main/postgresql.conf:port = 5433
/etc/postgresql/9.3/main/postgresql.conf:port = 5432
Я пытаюсь запустить Postgresql 9.3 с
$service postgresql start 9.3
* Starting PostgreSQL 9.3 database server
* Failed to issue method call: Unit postgresql@9.3-main.service failed
to load: No such file or directory. See system logs and 'systemctl
status postgresql@9.3-main.service' for details.
$sudo systemctl start postgresql
Failed to issue method call: Unit postgresql.service failed to load: No
such file or directory. See system logs and 'systemctl status
postgresql.service' for details.
$/etc/init.d# /etc/init.d/postgresql start
* Starting PostgreSQL 11 database server
* Failed to issue method call: Unit postgresql@11-main.service failed to
load: No such file or directory. See system logs and 'systemctl status
postgresql@11-main.service' for details.
[fail]
* Starting PostgreSQL 9.3 database server
* Failed to issue method call: Unit postgresql@9.3-main.service failed to
load: No such file or directory. See system logs and 'systemctl status
postgresql@9.3-main.service' for details.
[fail]
Я не могу запуститься, PostgreSQL.I не понимают, почему это внезапно понизилось, это хорошо работало до вчера.
Согласно pg_lsclusters
, Ваши экземпляры PostgreSQL 9.3/main
и 11/main
не запускаются. Это объясняет, "не мог подключить к серверу" ошибку.
postgresql.service
и postgresql@9.3-main.service
systemd
файлы единицы и Ваша проблема, кажется, что они отсутствуют когда systemctl
нуждается в них.
Отметьте это systemctl
не становится установленным по умолчанию на Ubuntu 14.04, поскольку это - последняя версия, которая не использует systemd (см., что Ubuntu 14.04 использует systemd?). Но так или иначе systemd
был установлен в Вашей системе.
С systemd обычно файлы услуг пост-ГРЭС должны быть автоматически созданы /lib/systemd/system-generators/postgresql-generator
, если postgresql-common
пакет, и заканчивается как *.service
файлы единицы в /lib/systemd/system/
.
Я не могу предположить, почему та часть не работала или прекратила работать над Вашей системой.
pg_ctlcluster
управляйте работами независимо от systemd или выскочки. Необходимо смочь запустить экземпляры PostgreSQL с:
$ sudo pg_ctlcluster 9.3 main start
$ sudo pg_ctlcluster 11 main start
В моем случае systemd
работал на Ubuntu 14.04, но это поддерживается начиная с 16.04. Так что я побежал
sudo apt-get remove systemd В моем случае systemd
работала на Ubuntu 14.04, но это поддерживается начиная с 16.04. Итак, я запустил
sudo apt-get remove systemd
После того, как служба postgresql была запущена успешно.