Каталог решений - Установка Postgresql на Linux систему в качестве сервера базы данных

Установка Postgresql на Linux систему в качестве сервера базы данных

Установка Postgresql на Linux систему в качестве сервера базы данных

В наличии

Хочу поделиться алгоритмом установки Postgresql 9.0.3-3.1C на OpenSuse 12.2 в качестве сервера базы данных 1С:Предприятие и оптимизицией под 8Гб ОЗУ и более менее быстрого процессора.

Категория:

Описание

В данной статье описывается настройка выделенного сервера под PosqtgreSql. Сам 1С:Предприятие на данный сервер НЕ УСТАНАВЛИВАЕТСЯ!

 

Статья рассчитана на опытных пользователей и администраторов. Я не буду описывать все досконально, опишу только основные моменты.

 

OpenSuse 12.2 выбрана в связи с тем, что для быстродействия решено было использовать SAS RAID 0, а OpenSuse 12.2 по умолчанию поддерживала RAID контроллер и также под нее подходили установочные файлы для PostgreSQL от 1с.

 

Итак, ищем в сети образ openSUSE-12.2-NET-x86_64, качаем и прожигаем на CD. Вы можете скачать сразу полноценный образ, но у меня были сложности с записью на DVD, поэтому я использовал openSUSE-12.2-NET-x86_64.

Грузимся с нашего CD и начинаем установку системы

Выбираем в качестве носителя «сеть», «http», адрес — download.opensuse.org, репозитории — /distribution/12.2/repo/oss/

YAST – система — сетевые настройки — настраиваем сеть

YAST — безопасность и пользователи — брандмауэр — отключаем

YAST — система — системные службы — активируем sshd

перезапускаем компьютер и коннектимся по ssh (utf-8)

 

# устанавливаем необходимые пакеты

zypper install nano

zypper install termcap

 

# проверяем настройки сети

ethtool -s eth0 speed 1000 duplex full autoneg off

# 192.168.110.1 – в данном случае IP DNS сервера

echo «nameserver 192.168.110.1» > /etc/resolv.conf

nano /etc/sysconfig/network/ifcfg-eth0

BOOTPROTO=’static’BROADCAST=»ETHTOOL_OPTIONS=’speed 1000 duplex full autoneg off’# 192.168.110.10 – в данном случае IP этого компьютераIPADDR=’192.168.110.10’MTU=»NAME=’RTL8111/8168B PCI Express Gigabit Ethernet controller’NETMASK=’255.255.255.0’NETWORK=»REMOTE_IPADDR=»STARTMODE=’onboot’USERCONTROL=’no’ 

# убираем автологин, зачем тратить лишние ресурсы

nano /etc/sysconfig/displaymanager

DISPLAYMANAGER_AUTOLOGIN=»no»

 

# устанавливаем PostgreSQL

mkdir ~/postgres

cd ~/postgres

wget http://koladigesta.ru/files/postgresql/9.0×64/postgresql-9.0.3-3.1C.x86_64.rpm

wget  http://koladigesta.ru/files/postgresql/9.0×64/postgresql-contrib-9.0.3-3.1C.x86_64.rpm

wget  http://koladigesta.ru/files/postgresql/9.0×64/postgresql-devel-9.0.3-3.1C.x86_64.rpm

wget  http://koladigesta.ru/files/postgresql/9.0×64/postgresql-docs-9.0.3-3.1C.x86_64.rpm

wget  http://koladigesta.ru/files/postgresql/9.0×64/postgresql-libs-9.0.3-3.1C.x86_64.rpm

wget  http://koladigesta.ru/files/postgresql/9.0×64/postgresql-server-9.0.3-3.1C.x86_64.rpm

wget  http://koladigesta.ru/files/postgresql/9.0×64/postgresql-test-9.0.3-3.1C.x86_64.rpm

rpm -Uvh —nodeps ./*.rpm

mkdir /usr/local/postgresql

groupadd postgres

useradd -g postgres -p postgres -d /usr/local/postgresql postgres

chown postgres:postgres -R /usr/local/postgresql

 

# делаем символьные ссылки на требуемые библиотеки

ln -s /lib64/libssl.so.1.0.0 /lib64/libssl.so.4

ln -s /lib64/libcrypto.so.1.0.0 /lib64/libcrypto.so.4

ln -s /lib64/libreadline.so.6.2 /lib64/libreadline.so.4

 

# инициализируем кластер базы

su postgres -c ‘LANG=ru_RU.UTF-8 /usr/pgsql/bin/initdb /usr/local/postgresql/data’

 

# создаем скрипт автозапуска для postgresql

nano /etc/init.d/postgresql

#!/bin/shKIND=»postgresql»USER=»postgres»BIN=»/usr/pgsql/bin/pg_ctl»DIR=»/usr/local/postgresql/data»start() {echo -n $»Starting $KIND services: «sudo -u $USER -H $BIN -D $DIR startecho}stop() {echo -n $»Shutting down $KIND services: «sudo -u $USER -H $BIN -D $DIR stopecho}restart() {echo -n $»Restarting $KIND services: «sudo -u $USER -H $BIN -D $DIR restartecho}case «$1» instart)start;;stop)stop;;restart)restart;;*)echo $»Usage: $0 {start|stop|restart}»exit 1esacexit $?

 

chmod u+x /etc/init.d/postgresql

chkconfig postgresql on

sudo systemctl —system daemon-reload

service postgresql start

 

# теперь оптимизируем postgresql

# измененяем значение shmmax (Наибольший допустимый размер сегмента распределенной памяти max 1/4 RAM) в байтах

echo 2064529408 >/proc/sys/kernel/shmmax

echo «kernel.shmmax=2064529408» >>/etc/sysctl.conf

reboot

 

psql -U postgres -d template1 -c «ALTER USER postgres PASSWORD ‘postgres'»

rm /usr/local/postgresql/data/pg_hba.conf

echo «local all all trust» >>/usr/local/postgresql/data/pg_hba.conf

echo «host all all 0.0.0.0/0 password» >>/usr/local/postgresql/data/pg_hba.conf

chown postgres:postgres /usr/local/postgresql/data/pg_hba.conf

 

# настройки приведены для нашего сервера, подбирались в течении месяца

# Intel(R) Xeon(R) CPU X3430  @ 2.40GHz

# 8Gb DDR2

nano /usr/local/postgresql/data/postgresql.conf

listen_addresses = ‘*’port = 5432max_connections = 50shared_buffers = 1792MBwork_mem = 370MBmaintenance_work_mem = 256MBcheckpoint_segments = 32effective_cache_size = 4GBrandom_page_cost = 2.5fsync = onwal_sync_method = fdatasynccpu_tuple_cost = 0.005cpu_index_tuple_cost = 0.001log_min_messages = error

 

 

# перезапускаем postgresql

service postgresql restart

 

# если система проработает без сбоев месяц и у вас есть хороший ИБП, то вы можете намного ускорить свой сервер применив в postgresql.conf опцию fsync = off. Лично у нас сервер работает с такой опцией, т.к. база в sql занимает 200Гб. Однако данная опция опасна и я рекомендую вам почитать о ней, прежде чем вы примените ее на своем боевом сервере.

has been added to your cart:
Оформление заказа