Как настроить БД в postgresql 9.2.4 на 12.04.2 LTS

Я думаю, у меня на компьютере работает PostgreSQL: у меня есть PID, и я вижу, что postgres «прослушивает» порт 5432.

Я пытаюсь создать БД для экспериментов, используя базу данных «Книга», описанную в книге К. Фейли «Visual Quickstart SQL».

Я перепробовал несколько подходов, но не испытывал радости. Последний подход:

$ su postgres
Password: 
postgres@piglet:/etc$ createdb books
createdb: could not connect to database postgres: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
postgres@piglet:/etc$ 

Я не уверен, что я бью стену паролями или разрешениями, или что-то еще. Я бы приветствовал некоторые предложения. Заранее спасибо!

1
задан 4 May 2013 в 02:14

1 ответ

Если PostgreSQL работает и прослушивает порт 5432 в соответствии с netstat, но при запуске psql выдается сообщение об ошибке, подобное:

psql: could not connect to database postgres: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

, тогда, скорее всего, проблема в том, что вы используете psql из более ранней версии PostgreSQL, которая также установлена ​​в вашей системе. Эта версия, вероятно, настроена на использование другого unix_socket_directory.

Лучше всего установить переменную среды PATH так, чтобы она указывала на каталог, содержащий правильные версии psql, createdb и т. Д., Предшествующие старым.

Альтернативно, вы можете использовать TCP / IP-соединения, явно указав -h localhost, например:

psql -h localhost ...

(и, таким образом, createdb -h localhost ...). Это приведет к тому, что вы будете использовать старые версии команд createdb, psql и т. Д., Поэтому лучше просто установить PATH. То же самое относится и к использованию -h для установки пути к сокету Unix, что в некоторой степени является расширенной опцией.

Исправьте переменную окружения PATH, и все будет хорошо. Вы можете временно проверить это с помощью чего-то вроде следующего, где вы замените /usr/pgsql-9.2/bin на каталог bin в вашей установке PostgreSQL 9.2:

export PATH=/usr/pgsql-9.2/bin:$PATH
psql

Если это сработает, вам нужно сделать постоянное изменение путем редактирования /etc/environment, вашего .bash_profile или других соответствующих файлов настроек. Ищите «ubuntu постоянно установлен PATH» для получения дополнительной информации.

0
ответ дан 4 May 2013 в 02:14

Другие вопросы по тегам:

Похожие вопросы: