Проблема с установкой и запуском PostgreSQL в Ubuntu

Доброго всем времени суток!
Помогите, пожалуйста, разобраться со следующей проблемой:
установил пакеты PostgreSQL из репозитория Ubuntu, создал юзера postgres, далее:
chown postgres /usr/local/pgsql/data - выполнил
su - postgres - зашел под postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data - а вот на этом этапе выдает ошибку:
"-su: /usr/local/pgsql/bin/initdb: No such file or directory". Т.е. по сути у меня директория /usr/local/pgsql/ содержит только одну папку - data. В процессе установки никаких сообщений об ошибке не выводилось. Возникает вопрос, куда же установились необходимые данные и что, собственно, теперь делать?

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Если вы установили пакеты из

Если вы установили пакеты из репозитория Ubuntu, то мне мягко говоря не верится, что какие-либо файлы лежат в /usr/local/...

Вообще говоря, либо вы компиляете и ставите ручками (и тогда по умолчанию всё падает в /usr/local), либо вы ставите PostgreSQL из пакета и всё встаёт в те пути, которые установили разработчики дистрибутива (согласно стандарту LFS базы данных располагаются при этом в /var/lib/pgsql, а бинарники в /usr/bin и /usr/sbin)

Поэтому после установки вам надо было выполнить не то что вы выполяете, а:
/etc/init.d/postgresql start
или
/etc/init.d/pgsql start
по идее всё остальное должны сделать скрипты пакета

зашел в папку: /etc/init.d/.

зашел в папку: /etc/init.d/. Там был файл postgresql-8.3. От имени postgres запустил команду /etc/init.d/postgresql-8.3 start - ничего не вышло, т.е. получил следующее:
postgres@asdf-desktop:~$ /etc/init.d/postgresql-8.3 start
postgres@asdf-desktop:~$

Тогда объясните мне как вы

Тогда объясните мне как вы ставили ПАКЕТЫ, если у вас после установки версии 8.4 остались файлы от 8.3?

а я разве где-то говорил, что

а я разве где-то говорил, что ставил 8.4?

Тьфу, не так прочёл!

Тьфу, не так прочёл! Пардон.

Цитата:

postgres@asdf-desktop:~$ /etc/init.d/postgresql-8.3 start
postgres@asdf-desktop:~$

Говорит о том, что вы пытались выполнить файл от простого пользователя? Разумеется это надо делать от root'а
Цитата:
ничего не вышло, т.е. получил следующее:

В случае успеха вы тоже ничего не увидите. Смотреть надо уже в список процессов типа ps ax и искать там postgres и postmaster.

гммм... попробовал: sudo

гммм... попробовал: sudo /etc/init.d/postgresql-8.3 start, а потом sudo ps ax. В выпавшем списке ни postgres, ни postmaster не было (скопировал данные в gedit и поиском искал).

Значит самое время проверить

Значит самое время проверить логи на наличие ошибок:
/var/log/messages
/var/log/postgres.log
/var/log/postgresql.log

в общем, как оказалось

в общем, как оказалось проблема в том, что я уже пробовал когда-то поставить postgresql. В общем-то получалось, получалось и запускать. Однажды, я удалил юзера postgresql. Потом создал нового. Но, uid и gid у него уже другие. В результате, у меня сейчас при запуске выдает следующее:
The cluster is owned by user id 115 which does not exist any more
Вопрос: как сменить uid владельца кластера? (а заодно и gid)

chown -R postgres:postgres

chown -R postgres:postgres /var/lib/pgsql

sudo

sudo /etc/init.d/postgresql-8.3 start
[sudo] password for user:
* Starting PostgreSQL 8.3 database server
* The PostgreSQL server failed to start. Please check the log output.
[fail]
А где находится log?
посмотрел /var/log/messages - ничего про postgres
/var/log/postgresql - там тоже ничего свежего, только вот это:
2010-04-03 23:07:14 MSD FATAL: could not access private key file "server.key": Permission denied
2010-04-03 23:11:34 MSD FATAL: could not access private key file "server.key": Permission denied
2010-04-03 23:36:52 MSD FATAL: could not access private key file "server.key": Permission denied
2010-04-04 00:04:57 MSD FATAL: could not access private key file "server.key": Permission denied
2010-04-04 00:05:17 MSD FATAL: could not access private key file "server.key": Permission denied
2010-04-04 00:09:25 MSD FATAL: could not access private key file "server.key": Permission denied

еще попробовал переустановить, но в ответ получил следующее:
E: postgresql-8.3: подпроцесс post-installation script возвратил код ошибки 1
E: postgresql-contrib-8.3: проблемы зависимостей -- оставляем не настроенным
E: postgresql-contrib: проблемы зависимостей -- оставляем не настроенным

В /var/lib/pgsql посмотрите

В /var/lib/pgsql посмотрите

зашел в

зашел в /var/lib/postgresql/8.3/main, но там файла лога не нашел

А конфиг нашли? Какой там

А конфиг нашли? Какой там путь прописан?

конфиг нашел, но в нем секция

конфиг нашел, но в нем секция логгирования - полностью закомментирована:

# ERROR REPORTING AND LOGGING
#------------------------------------------------------------------------------

# - Where to Log -

#log_destination = 'stderr' # Valid values are combinations of
# stderr, csvlog, syslog and eventlog,
# depending on platform. csvlog
# requires logging_collector to be on.

# This is used when logging to stderr:
#logging_collector = off # Enable capturing of stderr and csvlog
# into log files. Required to be on for
# csvlogs.
# (change requires restart)

# These are only used if logging_collector is on:
#log_directory = 'pg_log' # directory where log files are written,
# can be absolute or relative to PGDATA
#log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # log file name pattern,
# can include strftime() escapes
#log_truncate_on_rotation = off # If on, an existing log file of the
# same name as the new log file will be
# truncated rather than appended to.
# But such truncation only occurs on
# time-driven rotation, not on restarts
# or size-driven rotation. Default is
# off, meaning append to existing files
# in all cases.
#log_rotation_age = 1d # Automatic rotation of logfiles will
# happen after that time. 0 to disable.
#log_rotation_size = 10MB # Automatic rotation of logfiles will
# happen after that much log output.
# 0 to disable.

# These are relevant when logging to syslog:
#syslog_facility = 'LOCAL0'
#syslog_ident = 'postgres'

# - When to Log -

#client_min_messages = notice # values in order of decreasing detail:
# debug5
# debug4
# debug3
# debug2
# debug1
# log
# notice
# warning
# error

#log_min_messages = notice # values in order of decreasing detail:
# debug5
# debug4
# debug3
# debug2
# debug1
# info
# notice
# warning
# error
# log
# fatal
# panic

#log_error_verbosity = default # terse, default, or verbose messages

#log_min_error_statement = error # values in order of decreasing detail:
# debug5
# debug4
# debug3
# debug2
# debug1
# info
# notice
# warning
# error
# log
# fatal
# panic (effectively off)

#log_min_duration_statement = -1 # -1 is disabled, 0 logs all statements
# and their durations, > 0 logs only
# statements running at least this time.

#silent_mode = off # DO NOT USE without syslog or
# logging_collector
# (change requires restart)

# - What to Log -

#debug_print_parse = off
#debug_print_rewritten = off
#debug_print_plan = off
#debug_pretty_print = off
#log_checkpoints = off
#log_connections = off
#log_disconnections = off
#log_duration = off
#log_hostname = off
log_line_prefix = '%t ' # special values:
# %u = user name
# %d = database name
# %r = remote host and port
# %h = remote host
# %p = process ID
# %t = timestamp without milliseconds
# %m = timestamp with milliseconds
# %i = command tag
# %c = session ID
# %l = session line number
# %s = session start timestamp
# %v = virtual transaction ID
# %x = transaction ID (0 if none)
# %q = stop here in non-session
# processes
# %% = '%'
# e.g. '

<?phpu%%%d'
#log_lock_waits = off            # log lock waits >= deadlock_timeout
#log_statement = '
none'            # none, ddl, mod, all
#log_temp_files = -1            # log temporary files equal or larger
                    # than specified size;
                    # -1 disables, 0 logs all temp files
#log_timezone = unknown            # actually, defaults to TZ environment
                    # setting


#------------------------------------------------------------------------------
# RUNTIME STATISTICS
#------------------------------------------------------------------------------

# - Query/Index Statistics Collector -

#track_activities = on
#track_counts = on
#update_process_title = on


# - Statistics Monitoring -

#log_parser_stats = off
#log_planner_stats = off
#log_executor_stats = off
#log_statement_stats = off?>

Так раскомментируйте и

Так раскомментируйте и пропишите куда вам нужен лог.

все, разобрался  Спасибо за

все, разобрался :) Спасибо за проявленное терпение :)))

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023