PostgreSQLinstallubuntu

Материал из Etersoft wiki
Перейти к: навигация, поиск
Wackowiki-logo.png Blue Glass Arrow.svg MediaWiki logo.png
Эта страница была автоматически перемещена с old.wiki.etersoft.ru.
Эта страница наверняка требует чистки и улучшения — смело правьте разметку и ссылки.
Просьба по окончанию убрать этот шаблон со страницы.


Описание установки Postgre@Etersoft 9.0.4 на 64битную Ubuntu 12.04 LTS

Подготовка к установке

0. Создание временной директории для пакетов Postgre@Etersoft

Нужно создать директорию для того, что бы сохранить туда пакеты Postgre@Etersoft:

  1. mkdir ~/tmppgetersoft

зайдем в созданную директорию

cd ~/tmppgetersoft

1. Скачивание требующихся пакетов.

Для того, что бы поставить Postgre@Etersoft. Нужно скачать пакеты.

  1. wget ftp://updates.etersoft.ru/pub/Etersoft/Postgre@Etersoft/9.0.4/x86_64/Ubuntu/12.04/*


Должны скачаться следующие пакеты:

libpq5.2-9.0eter_9.0.4-eter14ubuntu_amd64.deb

postgre-etersoft9.0_9.0.4-eter14ubuntu_amd64.deb

postgre-etersoft9.0-seltaaddon_9.0.4-eter14ubuntu_amd64.deb

postgre-etersoft9.0-contrib_9.0.4-eter14ubuntu_amd64.deb

postgre-etersoft9.0-server_9.0.4-eter14ubuntu_amd64.deb


2. Устанавливаем пакеты требующиеся для работы Postgre@Etersoft:

Для работоспособности дополнения mchar к Postgre@Etersoft (требуется для 1с 8.x и SELTA@Etersoft) требуется библиотека libicu. Нужно её поставить:

sudo apt-get install libicu48


Установка

3. Установка пакетов Postgre@Etersoft.

Нужно поставить пакеты Postgre@Etersoft:

  1. sudo dpkg -i *.deb

Эта стадия должна пройти без проблем и через некоторое время установка закончится.

Доставляем зависимости

  1. sudo apt-get -f install


Подготовка к настройке Postgre@Etersoft

4. Проверка, запущен ли сервер.

Нужно проверить запущен ли Postgre@Etersoft

  1. sudo /etc/init.d/postgresql status

Если сервис запущен, буден выведено такое сообщение:

pg_ctl: выполняется сервер (PID: 745)

/usr/bin/postgres "-p" "5432" "-D" "/var/lib/pgsql/data"

Если сервис НЕ запущен, буден выведено такое сообщение:

pg_ctl: нет запущенного сервера

5. Запуска сервера

Если сервер НЕ запущен, нужно попробовать его запустить:

  1. sudo /etc/init.d/postgresql start

Если сервис запустился (скорее всего этого сейчас не произойдет):

Starting postgresql service: [ DONE ]

Если сервис НЕ запустился (наиболее вероятное развитие событий):

Starting postgresql service: [FAILED]

6.Перед настройкой Postgre@Etersoft нужно остановить сервис:

  1. sudo /etc/init.d/postgresql stop

С этим проблем быть не должно и на экране можно будет увидеть такое сообщение:

Stopping postgresql service: [ DONE ]

Настройка Postgre@Etersoft

Для того, что бы postgresql заработал нужно отредактировать несколько конфигурационных файлов. В качестве редактора в примере будет использован mcedit, но можно пользоваться любым привычным тектовым редактором (nano, vim и т.п.)

7. Редактирование параметров доступа к Postgre@Eterosof.

Для того, что бы произвести первоначальные настройки Postgre@Etersoft и проверить его работоспособность, нужно установить доверенный вход для всех пользователей с локального ip (127.0.0.1)

  1. sudo mcedit /var/lib/pgsql/data/pg_hba.conf

нужно привести строчку начинающуюся со слова local в следующее состояние.

local all all trust

После установки Postgre@Etersoft параметр можно вернуть в прежнее состояние.

8. Редактирование системного параметра SHMMAX.

Для того, что бы Postgre@Etersoft запустился (если этого не произошло в п. 4 или 5.) нужно настроить системный параметр SHMMAX.

Что бы узнать, какой должен быть параметр SHMMAX нужно посмотреть лог запуска Postgre@Etersoft:

  1. sudo cat /var/lib/pgsql/pgstartup.log

Там вы увидите сообщение похожее на следующее:

FATAL:  could not create shared memory segment:...

Failed system call was shmget(key=5432001, size=140075008, 03600).

This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMMAX parameter.  You can either reduce the request size or reconfigure the kernel with larger SHMMAX.  To reduce the request size (currently 140075008 bytes), reduce PostgreSQL's shared_buffers parameter (currently 16384) and/or its max_connections parameter (currently 10).

        If the request size is already small, it's possible that it is less than your kernel's SHMMIN parameter, in which case raising the request size or reconfiguring SHMMIN is called for.

        The PostgreSQL documentation contains more information about shared memory configuration.

В этом сообщение нужно найти фразу "currently 140075008 bytes". Число из этого сообщение это и есть требующийся параметр SHMMAX.

Нужно установить этот системный параметр в файле настройке:

  1. sudo mcedit /etc/sysctl.conf

Дописываем строку в конец файла:

kernel.shmmax = 140075008

Если там уже есть похожая строчка, нужно заменить параметр.

Эта настройка вступит в силу только после перезагрузки. Что бы этого не делать, устанавливаем параметр "на лету":

  1. sudo sysctl -w kernel.shmmax=140075008

8. Запуск сервера Postgre@Etersoft.

Нужно запустить сервер Postgre@Etersoft:

  1. sudo /etc/init.d/postgresql start

Сервер должен запуститься, выдав сообщение

Starting postgresql service: [ DONE ]

Если этого не произошло, посмотрите ошибку в /var/lib/pgsql/pgstartup.log

9. Установка пароля Postgre@Etersoft.

Для того, что бы подключаться к Postgre@Etersoft, требуется задать пароль пользователю postgres

Для этого нужно запустить клиент Postgre@Etersoft:

  1. psql -U postgres

Должно произойти подключение. И вы увидите строку приветствия:

psql (9.0.4-alt0.M51.1.1)

Type "help" for help.

Измените пароль пользователя postgres (пользователь присутствующий по умолчанию)

postgres=# ALTER USER postgres PASSWORD 'новый пароль';

Проверка работоспособности Postgre@Etersoft

10. Создание базы данных.

Для проверки работоспособности нужно создать базу данных:

postgres=# CREATE DATABASE test;

и подключиться к ней:

postgres=# \с test;

11. Проверка работоспособности дополнения mchar.

Для того, что бы проверить работоспособность mchar к Postgre@Etersoft (требуется для 1с 8.x и SELTA@Etersoft) нужно выполнить команду:

test=# CREATE FUNCTION mchartypmod_in(cstring[])

RETURNS int4

AS '$libdir/mchar'

LANGUAGE C IMMUTABLE RETURNS NULL ON NULL INPUT;

Если команда выполнится, то выведется команда:

CREATE FUNCTION

12. Окончание установки.

Для того что бы выйти из psql, нужно выполните команду:

test=# \q

Для того что бы удалить созданную директорию с скачанными файлами, нужно выполните команду:

rm -rf ~/tmppgetersoft


Для настройки оптимальной производительности, воспользуйтесь инструкциями http://wiki.etersoft.ru/PostgreSQL/Optimum