АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Установка. Предполагается, что в текущей директории находятся 4 нижеперечисленных файла из дистрибутива PostgreSQL (версия не имеет значения): postgresql;

Читайте также:
  1. Выпрямительная установка возбуждения
  2. Выпрямительная установка возбуждения ВУВ-60
  3. Доставка, УСТАНОВКА
  4. Источники света, установка осветительных приборов и опор
  5. НЕБЕЗПЕКА ЗАМИКАННЯ НА ЗЕМЛЮ В ЕЛЕКТРОУСТАНОВКАХ
  6. Обнаружение, установка, отключение и снятие ловушек
  7. Применение электрооборудования в электроустановках напряжением до 1 кВ
  8. Установка
  9. Установка для химического обессоливания воды
  10. Установка ключа защиты
  11. Установка разрешений NTFS и особых разрешений

Предполагается, что в текущей директории находятся 4 нижеперечисленных файла из дистрибутива PostgreSQL (версия не имеет значения):

  • postgresql;
  • postgresql-contrib;
  • postgresql-libs;
  • postgresql-server.

debian40r3:~/psql# ls
postgresql-8.2.6-2.1C.i386.rpm postgresql-libs-8.2.6-2.1C.i386.rpm
postgresql-contrib-8.2.6-2.1C.i386.rpm postgresql-server-8.2.6-2.1C.i386.rpm
debian40r3:~/psql#


Преобразуем rpm-пакеты при помощи утилиты alien:

debian40r3:~/psql# alien --to-tgz *.rpm
postgresql-8.2.6.tgz generated
postgresql-contrib-8.2.6.tgz generated
postgresql-libs-8.2.6.tgz generated
postgresql-server-8.2.6.tgz generated
debian40r3:~/psql#

 

Создаем директорию для хранения распакованных файлов и распаковываем в нее все архивы при помощи следующих двух команд:

debian40r3:~/psql# mkdir unpacked
debian40r3:~/psql# for line in `ls *.tgz`; do tar -zxf $line -C unpacked; done
debian40r3:~/psql#


Предустановочные скипты дистрибутива предназначены для другой операционной системы, и в Debian они будут работать некорректно, поэтому нужно выполнить следующие действия:

  • создать группу и пользователя postgres;
  • создать пустой файл /var/log/pgsql, сделать его владельцем postgres:postgres, и запретить остальным пользователям доступ к этому файлу.

Это осуществляется следующими командами:

debian40r3:~/psql# groupadd -g 26 -o postgres
debian40r3:~/psql# useradd -g postgres -o -r -d /var/lib/pgsql -s /bin/bash -c "PostgreSQL Server" -u 26 postgres
debian40r3:~/psql# touch /var/log/pgsql
debian40r3:~/psql# chown postgres:postgres /var/log/pgsql
debian40r3:~/psql# chmod 0700 /var/log/pgsql
debian40r3:~/psql#

 

После этого копируем распакованные файлы, удаляем временную директорию и архивы и обновляем кеш системных библиотек.

debian40r3:~/psql# mv unpacked/etc/rc.d/init.d/postgresql /etc/init.d
debian40r3:~/psql# rm unpacked/etc/rc.d/ -r
debian40r3:~/psql# cp -r unpacked/etc/ /
debian40r3:~/psql# cp -r unpacked/var/ /
debian40r3:~/psql# cp -r unpacked/usr/ /
debian40r3:~/psql# rm -rf unpacked *tgz
debian40r3:~/psql# ldconfig
debian40r3:~/psql#


Сменим владельца каталога /var/lib/pgsql и добавим стартовый скрипт /etc/init.d/postgres в автозагрузку.

debian40r3:~/psql# chown postgres:postgres -R /var/lib/pgsql
debian40r3:~/psql# update-rc.d postgresql defaults
Adding system startup for /etc/init.d/postgresql...
/etc/rc0.d/K20postgresql ->../init.d/postgresql
/etc/rc1.d/K20postgresql ->../init.d/postgresql
/etc/rc6.d/K20postgresql ->../init.d/postgresql
/etc/rc2.d/S20postgresql ->../init.d/postgresql
/etc/rc3.d/S20postgresql ->../init.d/postgresql
/etc/rc4.d/S20postgresql ->../init.d/postgresql
/etc/rc5.d/S20postgresql ->../init.d/postgresql
debian40r3:~/psql#

 

Далее необходимо вставить в командную строку содержимое следующей команды (вместе с символом новой строки после EOF в конце):

debian40r3:~/psql# cat <<EOF > /tmp/header
echo_failure() {
echo -n FAIL
}
echo_success() {
echo -n OK
}
failure() {
echo_failure
}
success() {
echo_success
}
EOF


Таким образом будет создан файл /tmp/header, содержащий в себе функции, которые нужно будет добавить в файл /etc/init.d/postgresql.

Далее модифицируем файл /etc/init.d/postgres, добавляя к нему файл с необходимыми функциями и комментируем строки ". $INITD/functions" и ". /etc/sysconfig/network":

debian40r3:~# mv /etc/init.d/postgresql{,.tmp}
debian40r3:~# mv /tmp/header /etc/init.d/postgresql
debian40r3:~# cat /etc/init.d/postgresql.tmp | sed 's|\(. $INITD/functions\)|#\0|' |
sed 's|\(. /etc/sysconfig/network\)|#\0|' >> /etc/init.d/postgresql

debian40r3:~# rm /etc/init.d/postgresql.tmp
debian40r3:~# chmod +x /etc/init.d/postgresql

 

После этого инициализируем базу данных:

debian40r3:~# /etc/init.d/postgresql initdb
Инициализируется база данных: [ OK ]
debian40r3:~#


Меняем пароль для учетной записи SQL-сервера postgres. Сначала нужно изменить настройки безопасности: для этого в последней строке файла /var/lib/pgsql/data/pg_hba.conf нужно заменить "md5" на "trust". Таким образом, мы включаем "доверительный" режим. Отредактировать файл можно в любом текстовом редакторе, а в данном примере это делается при помощи следующих команд:

debian40r3:~# mv -f /var/lib/pgsql/data/pg_hba.conf{,.tmp}
debian40r3:~# sed 's/md5$/trust/' < /var/lib/pgsql/data/pg_hba.conf.tmp > /var/lib/pgsql/data/pg_hba.conf
debian40r3:~# /etc/init.d/postgresql start
Запускается служба postgresql: [ OK ]

 

Теперь соединяемся с SQL-сервером под учетной записью postgres и меняем пароль учетной записи SQL-сервера postgres:

debian40r3:~# psql -d template1 -U postgres -h localhost
Welcome to psql 8.3.3, 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
template1=# alter user postgres with password 'new_password';
ALTER ROLE
template1=# \q
debian40r3:~#


Возвращаем настройки обратно и перезапускаем сервер:

debian40r3:~# mv -f /var/lib/pgsql/data/pg_hba.conf{.tmp,}
debian40r3:~# /etc/init.d/postgresql restart
Останавливается служба postgresql: [ OK ]
Запускается служба postgresql: [ OK ]
debian40r3:~#

 

Сервер PostgreSQL готов к работе!

Дистрибутив можно взять тут http://ftp.etersoft.ru/pub/Etersoft/Postgres@Etersoft/stable/


1 | 2 | 3 | 4 | 5 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.)