Не работает createdb

volod

Новичок
Не работает createdb

Подскажите пожалуйста, в каком направлении искать. Впервые ставлю Postgresql из исходного кода. Система: OpenSuse 11.0. Postgresql 8.3. Компиляция и инсталляция прошла без проблем.
Инициализирую и запускаю сервер:

/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
/usr/local/pgsql/bin/pg_ctl -D /home/postgres/data -l logfile start

Сервер запускается. Дальше хочу создать базу.

/usr/local/pgsql/bin/createdb test

На этом месте стопор. Сообщения об ошибке не возвращаются, но и дальше ничего не идёт.
Уже какой день бъюсь... И наверняка тут ничего сверхъестественного нет, дело в нехватке опыта. Помогите пожалуйста!
 

fixxxer

К.О.
Партнер клуба
вроде как там все подобные команды надо было от пользователя pgsql запускать, хотя я могу и ошибаться, давно не пользовался.

ну и наличие прав проверь на data и прочие logs
 

volod

Новичок
Запускаюсь от пользователя posgres, у которого все права на data.
Вот интресно, как я понимаю сервер можно запустить ещё одним способом:
/usr/src/postgresql-8.3.4> /usr/local/pgsql/bin/postgres -D /home/postgres/data

В этом случае появляются такие ошибки:

LOG: could not bind IPv4 socket: Address already in use
HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
LOG: could not bind IPv6 socket: Address already in use
HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
WARNING: could not create listen socket for "localhost"
FATAL: could not create any TCP/IP sockets
 

spiverg

Новичок
я делаю так:

spiverg1111:~/script# su postgres
postgres@spiverg1111:/root/script$ psql
Welcome to psql 8.1.11, the PostgreSQL interactive terminal.

Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit
postgres=# create database for_you owner pu;
CREATE DATABASE
postgres-# \q
postgres@spiverg1111:/root/script$ exit
exit
spiverg1111:~/script#
 

volod

Новичок
У меня psql находится здесь /usr/local/pgsql/bin/psql

Запускаю, получаю ошибку:

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

spiverg

Новичок
кстати сервер должен запускаться без твоего участия:), а скрипт запускающий postgres, как и другие службы лежит в /etc/rc*.d (у меня в debian по крайней мере так)

-~{}~ 14.10.08 17:24:

посмотри запущен ли у тебя постгрес, я это делаю так:
spiverg1111:/etc/rc5.d# top -b | grep postgres
9671 postgres 18 0 19328 3832 3292 S 0.0 0.7 0:00.40 postmaster
9673 postgres 15 0 19328 1612 1044 S 0.0 0.3 0:00.00 postmaster

Вот здесь решение твоей проблемы - http://linuxforum.ru/index.php?showtopic=75987
 

volod

Новичок
Автор оригинала: spiverg
кстати сервер должен запускаться без твоего участия:), а скрипт запускающий postgres, как и другие службы лежит в /etc/rc*.d (у меня в debian по крайней мере так)

-~{}~ 14.10.08 17:24:

посмотри запущен ли у тебя постгрес, я это делаю так:
spiverg1111:/etc/rc5.d# top -b | grep postgres
9671 postgres 18 0 19328 3832 3292 S 0.0 0.7 0:00.40 postmaster
9673 postgres 15 0 19328 1612 1044 S 0.0 0.3 0:00.00 postmaster
В процессах postgres запущен. Вот:

27693 postgres 20 0 2268 988 764 R 3.7 0.4 0:00.08 top
27503 postgres 20 0 4864 2348 1648 S 0.0 1.0 0:00.28 bash
27611 postgres 20 0 4472 1664 1372 T 0.0 0.7 0:00.08 postgresql
27628 postgres 20 0 9008 2384 1876 T 0.0 1.0 0:00.32 pg_ctl
27694 postgres 20 0 3064 716 632 S 0.0 0.3 0:00.02 grep


Попробовал через скрипт.
/etc/init.d/postgresql start

В ответ ругается. Вот так:

FATAL: database files are incompatible with server
DETAIL: The database cluster was initialized without HAVE_INT64_TIMESTAMP but the server was compiled with HAVE_INT64_TIMESTAMP.
HINT: It looks like you need to recompile or initdb.


Я в шоке. Не думал, что будут такие заморочки. :)
 

fixxxer

К.О.
Партнер клуба
а ты скопируй эту строчку, которая detail, в гугл. ;)
 

spiverg

Новичок
Я в шоке. Не думал, что будут такие заморочки.
а как ты хотел?:) я обычно ставлю из репозитория и не парюсь, но там версии старые тоже придется скоро из исходников компилить, хочу fulltextsearch попробовать

делай как fixxer говорит
 

volod

Новичок
Заглянул в гугл :)
На каком-то итальянском или испанском сайте советуют конфигурировать с параметром --enable-integer-datetimes

Так и сделал.
./configure --enable-integer-datetimes
gmake
gmake install

Дальше запускаем сервер
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data

Уже есть какие-то улучшения.... ;)
Но всё равно не работает.
Вот, что вижу:
LOG: database system was shut down at 2008-10-14 17:15:36 EEST
LOG: autovacuum launcher started
LOG: database system is ready to accept connections

Последняя надпись очень утешает, но дальше этого ничего не идёт. Так и висит сервер в этом состоянии.
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: volod
Дальше запускаем сервер
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data

Уже есть какие-то улучшения.... ;)
Но всё равно не работает.
Вот, что вижу:
LOG: database system was shut down at 2008-10-14 17:15:36 EEST
LOG: autovacuum launcher started
LOG: database system is ready to accept connections

Последняя надпись очень утешает, но дальше этого ничего не идёт. Так и висит сервер в этом состоянии.
Он и будет в этом состоянии висеть, т.к. ты его в foreground запустил. Чтобы он запускался в background, надо пользоваться pg_ctl. А так можешь в соседней консоли запустить psql или createdb.

Но вообще достаточно бессмысленное занятие собирать что-то из исходников, если не умеешь ни правильно собирать, ни правильно пользоваться. Вот я зашёл на http://www.postgresql.org/download/linux и увидел внизу ожидаемое:
RPMs for SUSE Linux and openSUSE are available from the openSUSE Build Service in the project server:database:postgresql. Platform-specific RPM packages are available for PostgreSQL as well as a variety of related software. Use the search facility to find suitable packages. Documentation is also available there.

The PostgreSQL packages for SUSE are maintained by Reinhard Max.
 

volod

Новичок
Автор оригинала: Sad Spirit
Он и будет в этом состоянии висеть, т.к. ты его в foreground запустил. Чтобы он запускался в background, надо пользоваться pg_ctl. А так можешь в соседней консоли запустить psql или createdb.

Но вообще достаточно бессмысленное занятие собирать что-то из исходников, если не умеешь ни правильно собирать, ни правильно пользоваться. Вот я зашёл на http://www.postgresql.org/download/linux и увидел внизу ожидаемое:
Спасибо за совет, сейчас попробую.
Ну а на счёт исходников... когда-то же надо учиться. Если не буду пробовать, точно никогда не получится.
Я благодарен всем тем, кто откликнулся на мой вопрос. Спасибо!

-~{}~ 15.10.08 10:36:

/usr/local/pgsql/bin/pg_ctl -D /usr/local/pg sql/data/ -l logfile start

Не верю своим глазам.... Всё получилось!

Ну теперь можно взяться за следующее рабочее задание: создание виртуалльных хостов в apache.

-~{}~ 16.10.08 10:25:

Вот интересно... после установки Postgre постоянно выдаёт такую строчку на экран:
Log: Util_GetProcessName: Error: cannot open /proc/1525/status
Log: Util_GetProcessName: Error: cannot open /proc/2234/status

и так далее.. только номер процесса в каждой строчке другой. За ночь таких сток штук 15 набежало.
 
Сверху