| Небольшой мануал по установке и настройке PostgreSQL сервера в Ubuntu (14.04). |
1. Установка
Добавляем APT репозиторий:
$ echo 'deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main' \
>> /etc/apt/sources.list.d/pgdg.list
Импортируем ключ:
>> /etc/apt/sources.list.d/pgdg.list
$ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | \
sudo apt-key add -
Устанавливаем:
sudo apt-key add -
# sudo apt-get update
# apt-get install postgresql-{version}
Вместо {version} указываете ту версию сервера, которая вас интересует: 8.4 или 9.3.
Или выбираете более удобный для себя способ: http://www.postgresql.org/download/linux/ubuntu/.
2. Конфигурирование
После установки рабочая директория поумолчанию /etc/postgresql/{version}/main/ (графический инсталятор производит установку в /opt/, тогда рабочая директория будет /opt/PostgreSQL-{version}/data). В ней находятся основные конфигурационные файлы.
Разрешаем соединения по TCP/IP
В конфигурационном файле postgresql.conf (поумолчанию находится в /etc/postgresql/{version}/main/) раскоментируем строку #listen_addresses = 'localhost' удалив символ #.
listen_addresses = 'localhost'
Чтобы подключаться к серверу с других машин, значние 'localhost' надо заменить на IP адрес машины, или 0.0.0.0, или просто поставить '*'.
Все необходимые подробности вы можете найти в комментариях в конфигурационном файле.
Настраиваем пользователя
При установке сервера в системе создается пользователь postgres с паролем postgres. С правами этого пользователя сервер общается с операционной системой (на сколько я понимаю). Но для работы вам этого не достаточно. Необходимо задать пароль для одноименного пользователя уже в рамках базы данных. Для этого запускаем консольный клиент psql с права пользователя postgres:
$ sudo -u postgres psql
И выполняем запрос:
ALTER USER postgres with encrypted password '_password_';
Где '_password_' - пароль для подключения к серверу под пользователем postgres.Если вы не смогли войти под пользователем postgres, потому что psql не соизволил принять пароль, решить проблему можно следующим образом:
- изменяете метод аутентификации для пользователя postgres на trust (см след. пункт)
- изменяете пароль как описано выше
- изменяете матод аутентификации на необходимый
- не забываете перезапускать сервер после изменения метода аутентификации
Изменение метода аутентификации
В конфигурационном файле pg_hba.conf (поумолчанию находится в /etc/postgresql/{version}/main/) изменяем метод аутентификации для пользователя postgres c ident на md5:local all postgres md5
$ sudo /etc/init.d/postgresql restart
3. Настраиваем pgAdmin
pgAdmin — наиболее популярная и многофункциональная открытая среда администрирования и разработки для PostgreSQL, самой прогрессивной СУБД с открытым исходным кодом в мире. pgAdmin может работать на платформах Linux, FreeBSD, Solaris, Mac OSX и Windows и управлять PostgreSQL 7.3 и новее, а также коммерческими и производными версиями PostgreSQL, в частности Postgres Plus Advanced Server и Greenplum.
pgAdmin создан для удовлетворения самых разных потребностей пользователей, от написания простых SQL-запросов до создания сложных баз данных. Графический интерфейс pgAdmin поддерживает все возможности PostgreSQL и значительно облегчает администрирование. Приложение включает SQL-редактор с подсветкой синтаксиса, редактор хранимых процедур, агент планирования заданий SQL/командной оболочки, поддержку механизма репликации Slony-I и многое другое. Подключение к серверу можно установить, используя TCP/IP или Unix-сокеты (на платформах *nix ), и применить также SSL-шифрование для безопасности. При этом никакие дополнительные драйверы для соединения с сервером баз данных не требуются.
pgAdmin разрабатывается сообществом экспертов PostgreSQL со всего мира и доступен более чем на десяти языках. Это свободное программное обеспечение выпускается под лицензией PostgreSQL.
Если установка сервера производилась из репозитория, то установить графический клиент можно командой:
$ sudo apt-get install pgadmin3
- Запускаем pgAdmin:
$ pgadmin3
- Создаем новое подключение к серверу: File->Add server
- Даем подключению имя, указываем в качестве хоста localhost, в качестве пользователя postgres с паролем, созданным при конфигурировании сервера
- Если все хорошо сконфигурировано, проблем возникнуть не должно.
4. Дополнительные источники информации
Самый исчерпывающий ресурс: Документация. Может быть установлена локально:
sudo apt-get install postgresql-doc-{version}
После установки находится здесь: file:///usr/share/doc/postgresql-doc-{version}/html/index.html 