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
Другие вопросы по тегам