PostgreSQLinstallubuntu
Описание установки Postgre@Etersoft 9.0.4 на 64битную Ubuntu 12.04 LTS
Подготовка к установке
0. Создание временной директории для пакетов Postgre@Etersoft
Нужно создать директорию для того, что бы сохранить туда пакеты Postgre@Etersoft:
- mkdir ~/tmppgetersoft
зайдем в созданную директорию
cd ~/tmppgetersoft
1. Скачивание требующихся пакетов.
Для того, что бы поставить Postgre@Etersoft. Нужно скачать пакеты.
Должны скачаться следующие пакеты:
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:
- sudo dpkg -i *.deb
Эта стадия должна пройти без проблем и через некоторое время установка закончится.
Доставляем зависимости
- sudo apt-get -f install
Подготовка к настройке Postgre@Etersoft
4. Проверка, запущен ли сервер.
Нужно проверить запущен ли Postgre@Etersoft
- sudo /etc/init.d/postgresql status
Если сервис запущен, буден выведено такое сообщение:
pg_ctl: выполняется сервер (PID: 745)
/usr/bin/postgres "-p" "5432" "-D" "/var/lib/pgsql/data"
Если сервис НЕ запущен, буден выведено такое сообщение:
pg_ctl: нет запущенного сервера
5. Запуска сервера
Если сервер НЕ запущен, нужно попробовать его запустить:
- sudo /etc/init.d/postgresql start
Если сервис запустился (скорее всего этого сейчас не произойдет):
Starting postgresql service: [ DONE ]
Если сервис НЕ запустился (наиболее вероятное развитие событий):
Starting postgresql service: [FAILED]
6.Перед настройкой Postgre@Etersoft нужно остановить сервис:
- 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)
- 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:
- 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.
Нужно установить этот системный параметр в файле настройке:
- sudo mcedit /etc/sysctl.conf
Дописываем строку в конец файла:
kernel.shmmax = 140075008
Если там уже есть похожая строчка, нужно заменить параметр.
Эта настройка вступит в силу только после перезагрузки. Что бы этого не делать, устанавливаем параметр "на лету":
- sudo sysctl -w kernel.shmmax=140075008
8. Запуск сервера Postgre@Etersoft.
Нужно запустить сервер Postgre@Etersoft:
- sudo /etc/init.d/postgresql start
Сервер должен запуститься, выдав сообщение
Starting postgresql service: [ DONE ]
Если этого не произошло, посмотрите ошибку в /var/lib/pgsql/pgstartup.log
9. Установка пароля Postgre@Etersoft.
Для того, что бы подключаться к Postgre@Etersoft, требуется задать пароль пользователю postgres
Для этого нужно запустить клиент Postgre@Etersoft:
- 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