LINUX.ORG.RU

[pgsql] ошибка


0

0

Скомпилил сервер, запустил, выдает ошибку при попытке стоздания базы: createdb: could not connect to database postgres: could not connect to server: Нет такого файла или каталога Is the server running locally and accepting connections on Unix domain socket «/var/run/postgresql/.s.PGSQL.5432»?

Что делать?

Ответ на: комментарий от UserUnknown

может не в правах дело?

я делал по пунтам в INSTALL

./configure
gmake
su
gmake install
adduser postgres
mkdir /usr/local/pgsql/data
chown postgres /usr/local/pgsql/data
su - postgres >/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &
/usr/local/pgsql/bin/createdb test >/usr/local/pgsql/bin/psql test

Berluskoni ★★
() автор топика
Ответ на: комментарий от Berluskoni

> я делал по пунтам в INSTALL

FreeBSD? Gentoo? Slackware? :)

Впрочем, после таких манипуляций система УЖЕ превратилась в слаку. Почему бы благородному синьору не воспользоваться благами цивилизации в виде пакетного менеджера? В составе приличных дистрибутивов (как правило, RPM-based) содержатся гарантированно работающие пакеты. А какой дистрибутив у вас?

> /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &

А вот это может быть полезным. Посмотрите, что PostgreSQL написал вам в этот файл. Также можете набрать из-под root'а команду:

lsof | grep PGSQL

Она покажет вам, где реально создался сокет. Возможно, он создается не в /var/run/postgresql, а, скажем, в /tmp.

Kuka ★★
()

Сначала нужно делать initdb (создаёт начальные файлы базы, database cluster), потом уже запускать сервер и совершать операции типа createdb.

mikki
()

Есть мнение, что установленный локально (/usr/local) постгрес может создавать сокет в левом месте. Как и предыдущие ораторы, советую воспользоваться пакетным менеджером (и дистрибутивом, в котором таковые есть)

Divius ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.