Установка и настройка PostgreSQL на хостинге NIC.ru.
25 мая, 2008Создаем на хостинге папку:
mkdir pgsql
cd pgsql
Скачиваем в нее дистрибутив с http://wwwmaster.postgresql.org/
Распаковываем
tar -xf postgresql-(версия).tar.gz
cd postgresql-(версия)
./configure —prefix=/home/LOGIN/pgsql/ —disable-shared —disable-rpath && make && make install
cd ..
Создаем каталог, где будут храниться базы данных и инициализируем его:
mkdir DB
./bin/initdb -E windows-1251 /home/LOGIN/pgsql/DB/
Изменяем конфигурационный файл сервера: /home/LOGIN/pgsql/DB/postgresql.conf
listen_addresses = ‘ВАШ_IP’
port = 5432
Стартуем сервер:
./bin/postgres -D /home/LOGIN/pgsql/DB
или
./bin/pg_ctl -D /home/LOGIN/pgsql/DB -l logfile start
В итоге получаем:
[LOGIN@webXX ~/pgsql]$ psql -d template1
Welcome to psql 8.1.5 (server 8.3.1), 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
WARNING: You are connected to a server with major version 8.3,
but your psql client is major version 8.1. Some backslash commands,
such as \d, might not work properly.
template1=# \q
Скрипт запуска:
[USER@web ~/pgsql]$ cat ~/etc/rc.d/postgres
#! /bin/sh
prefix=/home/$USER/pgsql
PGDATA="/home/$USER/pgsql/DB/"
PGUSER=$USER
PGLOG="$PGDATA/serverlog"
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON="$prefix/bin/postmaster"
PGCTL="$prefix/bin/pg_ctl"
test -x "$DAEMON" || exit 0
case $1 in
start)
$DAEMON -D $PGDATA & >>$PGLOG 2>&1
echo -n ' postgresql'
;;
stop)
$PGCTL stop -D $PGDATA -s -m fast
;;
restart)
$PGCTL stop -D $PGDATA -s -m fast -w
$DAEMON -D $PGDATA & >>$PGLOG 2>&1
;;
status)
$PGCTL status -D $PGDATA
;;
*)
echo "Usage: `basename $0` {start|stop|restart|status}" 1>&2
exit 1
;;
esac
exit 0
16 июня, 2008 at 09:06
Бывает не хватает шаренной памяти (shared memory) для установки сервера.
Проблема решается следующим образом.
Смотрим используемую память и освобождаем ее:
ipcs | grep login
ipcrm -m byte
16 июня, 2008 at 09:09
uh-oh
yes, it works 😀