Postgresql - это сервер, работающий локально и принимающий соединение в домене Unix
Я пытаюсь установить postgresql-9.5 или postgresql-9.6 на мою Ubuntu 16.04
или же 14.04
после выполнения процесса установки, используя приведенные ниже команды.
sudo apt-get install update
sudo apt-get install postgresql postgresql-contrib
Но когда я пытаюсь открыть psql
из моего терминала, используя команды ниже
sudo su postgres
psql
каждый раз его просто показывает.
psql: не удалось подключиться к серверу: нет такого файла или каталога. Сервер работает локально и принимает подключения через сокет домена Unix "/var/run/postgresql/.s.PGSQL.5432"?
Я испробовал примерно 10 решений stackru.com, но безуспешно. Пожалуйста, помогите мне, прежде чем я оторву все мои волосы:(
$ service postgresql status
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor prese
Active: active (**exited) since রবি 2017-03-12 21:45:56 BDT; 23min ago
Process: 917 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 917 (code=exited, status=0/SUCCESS)
Tasks: 0
Memory: 0B
CPU: 0
CGroup: /system.slice/postgresql.service
смотрите эту строку внимательно, почему выход? Активен: активен (выход) с রবি 2017-03-12 21:45:56 БДТ; 23 мин назад
2 ответа
Вы можете запустить следующую команду, чтобы проверить, работает ли postgresql:
service postgresql status
Если PostgreSQL не запущен, вы можете запустить его с:
service postgresql start
service postgresql status
Если он не запускается должным образом, вы можете посмотреть, что происходит в журналах:
tail /var/log/postgresql/postgresql-9.6-main.log
Возможно, вам придется бежать createdb
чтобы инициализировать базу данных (см. https://www.postgresql.org/docs/current/static/app-createdb.html):
createdb demo
Обновить
Если PostgreSQL работает, когда вы делаете service postgresql status
но вы все еще не можете подключиться, вы должны проверить, действительно ли PostgreSQL работает на порту 5432 или другой порт с:
netstat -na | grep postgres
Обновление 2
Поскольку нативные пакеты в Debian / Ubuntu для PostgreSQL отстой, я советую вам установить их вместо: https://www.gab.lc/articles/install_postgresql_9-5_debian_ubuntu (заменить 9-2
с 9-6
).
Вот как окончательно решил мою проблему после удаления существующей версии и каталога postgresql
sudo apt-get --purge remove postgresql-*
sudo rm -Rf /etc/postgresql /var/lib/postgresql
sudo apt-get install postgresql