Страница 1 из 1

Моя первая установка postgresql

Добавлено: 2008-12-05 15:42:46
torki
Всем огромный привет!! :smile:
Настал тот день и час когда жизнь потребовала в работе использование БД. После продолжительных серфингов в инете и переваривания полученой инфы обратил свой взор на postgresql (надежность, скорость, стабильность,а самое главное бесплатность!) После внимательного прочтения скаченой документации http://www.postgresql.org/docs/8.3/inte ... index.html а именно пункта 15! Начал установку в

Код: Выделить всё

FreeBSD host-a.mydom.loc 7.0-RELEASE-p6 FreeBSD 7.0-RELEASE-p6 #0: Mon Dec  1 06:53:40 YEKT 2008     alexiv@host-a.mydom.loc:/usr/obj/usr/src/sys/host-a  i386
host-a#
такой системе. Как говорится нашел порт и запустил установку по умолчанию, без ковыряни в make config, все стало без проблем! А вот в дальнейшем посыпались грабли :(

Код: Выделить всё

15.1. Short Version

./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

После анализа данного текста в доке стало понятно что во Фряхе все несколько иначе :(
1. юзер добовляется автоматом при установке.
2.юзер не postgres а pgsql.
3.с путями тоже все иначе, ну это не беда.
4 выполняя пункт

Код: Выделить всё

/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
изменил его под Фряху а именно

Код: Выделить всё

/usr/local/bin/initdb -D /usr/local/pgsql/data
в ответ получил

Код: Выделить всё

/usr/local/bin/initdb -D /usr/local/pgsql/data
Файлы, сопутствующие этой системе баз данных, будут
принадлежать пользователю "pgsql". Этот пользователь
также должен быть владельцем процесса сервера.
Кластер баз данных будет инициализирован с локалью ru_RU.KOI8-R.
Кодировка базы по умолчанию установлена в KOI8.
The default text search configuration will be set to "russian".

исправление прав на существующую директорию /usr/local/pgsql/data ... ок
creating subdirectories ... ок
выбирается значение по-умолчанию для max_connections ... 40
selecting default shared_buffers/max_fsm_pages ... 28MB/179200
создание конфигурационных файлов ... ок
создание базы template1 в /usr/local/pgsql/data/base/1 ... ок
initializing pg_authid ... ок
initializing dependencies ... ок
создание системных представлений ... ок
loading system objects' descriptions ... ок
создание конверсий ... ок
creating dictionaries ... ок
установка привилегий для встроенных объектов ... ок
создание информационной схемы ... ок
сборка мусора в базе template1 ... ок
копирование template1 в template0 ... ок
copying template1 to postgres ... ок

ВНИМАНИЕ: используется аутентификация "trust" для локальных подсоединений.
Вы можете её поменять, отредактировав pg_hba.conf или используя опцию -A,
при следующем выполнении initdb.

Success. You can now start the database server using:

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

$
я так понимаю все прошло как доктор прописал!!
5. запускаю

Код: Выделить всё

/usr/local/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &
измене под Фряху!
получаю бана

Код: Выделить всё

 cannot create logfile: Permission denied
Понятно что без инициализации о запуске базы не может быть и речи!
И чего это оно так??? Помогите разобраться :( Зараннее благодарю за помощь

Re: Моя первая установка postgresql

Добавлено: 2008-12-05 22:08:49
hizel
видимо initdb надо запускать из под пользователя pgsql ;)
все проще, после установки из портов, внедряем в rc.conf

Код: Выделить всё

postgresql_enable="YES"
и запускаем от рута

Код: Выделить всё

/usr/local/etc/rc.d/postgrsql initdb
кстати можете полюбопытствовать исходники, там как раз su применяется
обратите внимание на права

Код: Выделить всё

ls -l /usr/local/pgsql/
ls -l /usr/local/pgsql/data
все дальше

Код: Выделить всё

/usr/local/etc/rc.d/postgresql start 
:pardon:

Re: Моя первая установка postgresql

Добавлено: 2008-12-06 13:28:49
torki
неработает!!
А как же можно запускать от рута, да и не запускается

Код: Выделить всё

/usr/local/etc/rc.d/postgrsql initdb
в доке ясно сказано запускать от pgsql.
а начет ls -l

Код: Выделить всё

host-a# ls -l /usr/local/pgsql/
total 4
drwxr-xr-x   2 pgsql  pgsql  512  5 дек 19:23 .mc
drwx------  10 pgsql  pgsql  512  5 дек 19:23 data
host-a# ls -l /usr/local/pgsql/data
total 42
-rw-------  1 pgsql  pgsql      4  5 дек 19:23 PG_VERSION
drwx------  5 pgsql  pgsql    512  5 дек 19:23 base
drwx------  2 pgsql  pgsql    512  5 дек 19:23 global
drwx------  2 pgsql  pgsql    512  5 дек 19:23 pg_clog
-rw-------  1 pgsql  pgsql   3429  5 дек 19:23 pg_hba.conf
-rw-------  1 pgsql  pgsql   1460  5 дек 19:23 pg_ident.conf
drwx------  4 pgsql  pgsql    512  5 дек 19:23 pg_multixact
drwx------  2 pgsql  pgsql    512  5 дек 19:23 pg_subtrans
drwx------  2 pgsql  pgsql    512  5 дек 19:23 pg_tblspc
drwx------  2 pgsql  pgsql    512  5 дек 19:23 pg_twophase
drwx------  3 pgsql  pgsql    512  5 дек 19:23 pg_xlog
-rw-------  1 pgsql  pgsql  16740  5 дек 19:23 postgresql.conf
host-a#
проблема в чемто другом. Как говорится опять, в чем-же грабля

Код: Выделить всё

$ /usr/local/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &
$ cannot create logfile: Permission denied

[1]   Done (2)                /usr/local/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1
$
:cf:

Re: Моя первая установка postgresql

Добавлено: 2008-12-06 17:10:51
torki
Всем привет!! :smile:
С установкой разобрался!
Прочитал и делал как здесь http://www.commandprompt.com/ppbook/
вот чего делал
Идем в папку :

Код: Выделить всё

cd /usr/ports/databases/postgresql83-server
запускаем:

Код: Выделить всё

make install clean && rehash
после установки должен появится юзер pgsql
проверяем

Код: Выделить всё

host-a# cat master.passwd
pgsql:*:70:70::0:0:PostgreSQL Daemon:/usr/local/pgsql:/bin/sh
Ага, есть.
Теперь действуем от юзера pgsql

Код: Выделить всё

host-a# su pgsql
Согласно документации выполняем инициализацию, изменяем в примере пути под по FreeBSD!

Код: Выделить всё

/usr/local/bin/initdb -D /usr/local/pgsql/data
Если в ответ получаем:

Код: Выделить всё

создание базы template1 в /usr/local/pgsql/data/base/1 ... ок
initializing pg_authid ... ок
initializing dependencies ... ок
создание системных представлений ... ок
loading system objects' descriptions ... ок
создание конверсий ... ок
creating dictionaries ... ок
установка привилегий для встроенных объектов ... ок
создание информационной схемы ... ок
сборка мусора в базе template1 ... ок
копирование template1 в template0 ... ок
copying template1 to postgres ... ок

ВНИМАНИЕ: используется аутентификация "trust" для локальных подсоединений.
Вы можете её поменять, отредактировав pg_hba.conf или используя опцию -A,
при следующем выполнении initdb.
Success. You can now start the database server using:

    /usr/local/bin/postgres -D /usr/local/pgsql/data
or
    /usr/local/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start
$
То инициализация прошла нормально.
Запускаем:
/usr/local/bin/postmaster -D /usr/local/pgsql/data
Проверяем:

Код: Выделить всё

$ ps -ax | grep postgres
26550  ??  Is     0:00,31 /usr/local/bin/postmaster -D /usr/local/pgsql/data (postgres)
26552  ??  Ss     0:00,05 postmaster: writer process    (postgres)
26553  ??  Ss     0:00,02 postmaster: wal writer process    (postgres)
26554  ??  Ss     0:00,01 postmaster: autovacuum launcher process    (postgres)
26555  ??  Ss     0:00,01 postmaster: stats collector process    (postgres)
$
Ага, батрачит!!
Ну и добавляем в rc.conf

Код: Выделить всё

postgresql_enable="YES"
перегружаемся и проверяем:

Код: Выделить всё

host-a# ps -ax | grep postgres
  673  ??  Is     0:00,42 /usr/local/bin/postgres -D /usr/local/pgsql/data
  675  ??  Ss     0:00,05 postgres: writer process    (postgres)
  676  ??  Ss     0:00,02 postgres: wal writer process    (postgres)
  677  ??  Ss     0:00,01 postgres: autovacuum launcher process    (postgres)
  678  ??  Ss     0:00,02 postgres: stats collector process    (postgres)
host-a#
Вот и все дела :smile:
Разбираюсь дальше, создание баз, таблиц и тд и тп.

Re: Моя первая установка postgresql

Добавлено: 2008-12-06 17:25:19
torki
И книженцию нарыл в инете! если интересно давайте ФТП залью!
описание

Код: Выделить всё

# Издательство: Питер, 2003 г.
# Твердый переплет, 496 стр.
# ISBN 5-94723-337-1, 1-56592-846-6
# Тираж: 3000 экз.
# Формат: 70x100/16

На фоне прочих СУБД, распространяемых с открытыми текстами, PostgreSQL выделяется своей надежностью и богатством возможностей. В книге рассматриваются практические аспекты установки и сопровождения сервера БД на базе PostgreSQL. Основное внимание уделяется таким стандартным операциям, как архивация и восстановление баз данных, управление учетными записями пользователей, создание новых баз данных, запуск и остановка сервера и т.д. Отдельная часть книги посвящена нетривиальным темам, специфическим для PostgreSQL, в том числе работе с базами данных в языке Java и построению web-сайтов на основе данных PostgreSQL.

Книга предназначена для системных администраторов, занимающихся техническим сопровождением серверов БД, но ее материал также представляет интерес для широкого круга читателей, желающих поближе познакомиться с PostgreSQL. 

Re: Моя первая установка postgresql

Добавлено: 2008-12-09 10:06:09
f0s
тебе про это с самого начала и говорили.. тока можно без всяких su. проосто /usr/local/etc/rc.d/postgresql initdb

Re: Моя первая установка postgresql

Добавлено: 2008-12-09 10:40:25
hizel
судя по первому посту топикстартер ставил из сырцов
не надо так делать нигде, кроме всяких LFS и Slackware
мантейнер портов для FreeBSD из стана Postgresql-ников ;)

все делается в два действия

Код: Выделить всё

cd /usr/ports/databases/postgresql83-server/ && make install clean
/usr/local/etc/rc.d/postgresql initdb
под root-ом или через sudo

Re: Моя первая установка postgresql

Добавлено: 2009-01-07 12:42:36
Гость
Доброго времени! Начала разбираться с установкой сервера PostgreSQL-8.3.5...
Для установки использовала статью http://www.tisbi.ru/resource/…/GL2.htm, а также нашла такую же на английском... Ссылка на нее была выше...
Однако на этапе конфигурации выдается такая ошибка:

Код: Выделить всё

postgres@SuperMegaDom:/usr/local/src/postgresql-8.3.5$ ./configure
checking build system type... i686-pc-linux-gnulibc1
checking host system type... i686-pc-linux-gnulibc1
checking which template to use... linux
checking whether to build with 64-bit integer date/time support... no
checking whether NLS is wanted... no
checking for default port number... 5432
checking for gcc... gcc
checking for C compiler default output file name... configure: error: C compiler cannot create executables
See `config.log' for more details.
С чем это может быть связано? Подскажите пожалуйста. Сама я новичок в Линуксе...

Re: Моя первая установка postgresql

Добавлено: 2009-01-07 13:52:28
hizel
если вы используете линукс, то скажите какой у вас дистрибьютив
вобще в большинстве просто ставится пакет без всякой компиляции

Re: Моя первая установка postgresql

Добавлено: 2009-01-07 16:35:55
Гость
У меня стоит Linux Ubuntu 8.4.
Каким же образом его можно установить напрямую?
Извините, но я полный ламер в Линуксе.....(((

Re: Моя первая установка postgresql

Добавлено: 2009-01-07 18:10:59
hizel
там у вас должна быть програмка с графическим интерфейсом с помощью которой все ставится
или просто в командной строке

Код: Выделить всё

sudo apt-get install  postgresql
если я с пакетом не напутал

Re: Моя первая установка postgresql

Добавлено: 2009-01-07 19:36:40
Гость
А какое расширение должна иметь программа postgresql? У мя есть скачанный архив(там много-много папок... )- он собственно для компиляции, и еще postgresql.bin.... Если последний инсталлировать, то просто создается точно такой же файл в установочной директории... А сам этот файл не запускается... (((

Re: Моя первая установка postgresql

Добавлено: 2009-01-10 11:51:22
Гость
hizel писал(а):

Код: Выделить всё

sudo apt-get install  postgresql
Да именно эта команда и используется, спасибо. :smile:
Ток теперь возникли некоторые вопросы по настройке сервера... :oops:
Установила клиент pgAdmin, localhost коннектиться и нормально работает. А вот как настроить сетевое подключение?
Знаю, что для этого нужно изменить файлы postgresql.conf, pgident.conf, pg_hba.conf. А вот что именно я не знаю. :(

Re: Моя первая установка postgresql

Добавлено: 2009-01-10 11:57:55
hizel
хотябы тут посмотреть
http://www.postgresql.org/docs/8.3/inte ... -conf.html

Re: Моя первая установка postgresql

Добавлено: 2010-03-11 20:12:22
ukas

Re: Моя первая установка postgresql

Добавлено: 2010-10-29 14:39:11
Pasha
Добрый день всем! Первый раз начал устанавливать postgresql, сам только начал изучать freebsd, хотел для теста поднять почтовик на pgsql, самое первое действие он не становится, вот что пишет:
-------------------------------------------------

Код: Выделить всё

configure: creating ./config.status
autom4te --language=m4sh -B libltdl/config libltdl/config/ltmain.m4sh > libltdl/config/ltmain.in
autom4te: not found
*** Error code 127
Stop in /usr/ports/devel/libtool22/work/libtool-2.2.6b.
*** Error code 1
Stop in /usr/ports/devel/libtool22.
*** Error code 1
Stop in /usr/ports/devel/gettext.
*** Error code 1
Stop in /usr/ports/devel/gmake.
*** Error code 1
Stop in /usr/ports/databases/postgresql84-server.
*** Error code 1
Stop in /usr/ports/databases/postgresql84-server.
--------------------------------------------------
Я новичок и не знаю, что да как...
Подскажите, зараннее благодарен всем!!! Спасибо.

Re: Моя первая установка postgresql

Добавлено: 2010-12-18 4:53:05
ProFTP
полезная инфа:

Код: Выделить всё

http://wiki.lissyara.su/wiki/Установка_PostgreSQL
http://unix4me.ru/archives/614