FreeBSD – PostgreSQL установка

В мое случае использовалось:
– FreeBSD 7.2
– PostgreSQL 8.3

Для начала ставим саму базу данных
# cd /usr/ports/databases/postgresql83-server
# make install clean

далее меняем пароль для пользователя pgsql
# passwd pgsql

и определившись с местонаждением самой базы(у меня /data/pgsql/), настраиваем:
– создаем директорию
# mkdir /data/pgsql
– меняем домашнюю директорию для пользователя
# chpass pgsql
– на всякий случай копируем все файлы(у меня было пусто) из стандартной директории в нашу новую директорию
# mv /usr/local/pgsql/* /data/pgsql/
– создаем директорию для файлов самой базы данных
# mkdir /data/pgsql/data
– и меняем права доступа
# chown -R pgsql:pgsql /data/pgsql/
# chmod -R 750 /data/pgsql/

добавляем в /etc/rc.conf строчки для загрузки postgresql
postgresql_enable="YES"
postgresql_data="/data/pgsql/data/"
postgresql_class="postgres"

инициализируем создание бд
/usr/local/etc/rc.d/postgresql initdb
если инициализация проходит в некоректной кодировке, инициализируете командой
su -l pgsql -c "initdb -E KOI8 -D /data/pgsql/data"
и перед выполнением не забываем удалить файлы предыдущей(некоректно созданной) базы данных

заходим под пользователем, стартуем postgresql, меняем кодировку, меняем пароль для суперпользователя на 12345, создаем пользователя puser, создаем ему пароль 1234 и даем ему права на создание и наполнения базы данных
# su pgsql
$ /usr/local/etc/rc.d/postgresql start
psql template1
\encoding KOI8
alter user pgsql with password '12345';
create user puser;
alter user puser with password '1234';
alter user postgres with createdb;

далее останавливаем postgresql
$ /usr/local/etc/rc.d/postgresql stop

и меняем тип авторизации в файле /data/pgsql/data/pg_hba.conf
– отключаем IPv6 – комментируем строчку
#host all all ::1/128 trust
– менем trust на password в строчках
# "local" is for Unix domain socket connections only
local all all password
# IPv4 local connections:
host all all 127.0.0.1/32 password

теперь запускаем обратно postgesql
# su pgsql
$ /usr/local/etc/rc.d/postgresql start

начальная установка закончилась, теперь если необходимо – можно создать базу данных для пользователя puser – pdata
# su pgsql
$ psql -U puser template1
password:
template1=# create database pdata template=template0 with encoding='KOI8';

вводим пароль для пользователя puser (он у нас ‘1234’)

если необходимо востановить дамп предыдущей бд – шаблон:
(psql -a имя_базы имя_пользователя < дамп_базы >out 2>&1)

пример( где pdata.sql файл с дампом бд):
$ psql -a pdata puser < pdata.sql >out 2>&1
и смотрим ошибки
$ grep -i erro out

Созданию статьи поспособствовал вики очень интересного сайта http://www.lissyara.su/ссылка на вики