Небольшой мануал по установке и настройке 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
21 комментарий:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | \ sudo apt-key add
Что означает вертикальный слэш и что означает обратный слэш? Команды wget и sudo прописываются в одной строке или в разных? (после обратного слэша надо нажимать клавишу ENTER или не надо?)
Вертикальная черта - это pipe. Обратный слеш - перевод строки в консоли. Т.е. слеш можно не писать, но тогда обе команды надо набирать в одну строку.
Про пайпы можно почитать например здесь http://www.dokwork.ru/2012/02/unix-way-for-everyday.html =)
Ссылочка, к сожалению, не работает (страница не существует). В википедии прочёл, что вертикальную черту называют пайпом. Но что этот пайп в данном коде делает?
"=)" - это смайлик, а не часть ссылки. В данном конкретном примере вы скачиввваете публичный ключ командой wget, а затем результат перенаправляете команде apt-key для добавления его в список доверенных.
А-а-а, пардон, совсем мозги заклинило =) Теперь установку проделал, вроде, чегой-то установилось, скачалось, а никакого значка этой самой postgresql не появилось. папки и файлы с именами *ostgresql* нашлись только в подпапках папок /usr/share/ и /var/lib/
Что же делать дальше?
Дальше все зависит от того, что Вы хотите сделать. Например можно запустить pgAdmin, если вы его установили (Alt+F2 -> pgadmin3)
Сейчас установил и запустил. У меня доступен на верху значок в виде электрической вилки и всплывающей подсказкой 'Add a connection to a server' У меня версия Ubuntu 14.04 Скажите, пожалуйста. пароль надо предварительно создать в консоли так, как Вы описали ($ sudo -u postgres psql и далее ALTER USER postgres with encrypted password '_password_'; (включая точку с запятой)?
подразумевалось (на сколько сейчас помню), что в кавычках вместо _password_ надо указать ваш пароль (любой)
Ну, это - понятно =) Пугает описанная Вами возможность возникновения проблемы с паролем. У меня установилась какая-то другая версия postgresql, имена и пути конфигурационных файлов не совпадают с названными Вами файлами. Не ясно, что делать, если psql не примет пароль. И ещё вопрос, - ничего, что pgAdmin уже запущен или надо его закрыть перед заданием пароля в консоли?
Ниже описан способ решения проблем, размещение файлов не так важно. pgAdmin мешать не должен, но на всякий случай можно отключиться от сервера.
Спасибо большое, загляну к Вам ещё!
Всегда рад гостям! Удачи!
Здравствуйте!
Хотелось бы вернуться к вчерашнему разговору. Вы описали, что делать, если возникнут проблемы с паролем (psql не примет пароль). Однако, файла pg_hba.conf я у себя не нашёл. Я попытался найти нужный файл по строчке 'postgres*ident' командой 'grep -r -l 'postgres*ident' /' , но - тоже ничего не нашёл. Может быть, я не верно задал поиск?
При этом pgAdmin у меня запускается, очевидно, postgresql установилась нормально. Что же мне делать, если возникнут проблемы с паролем?
Установил ubuntu server 15.04 Установил pgadmin3 набираю команду pgadmin3, полчаю сообщение 17:35:45: Error: Unable to initialize GTK+, is DISPLAY set properly?
Как исправить эту ошибку?
То, что запускается pgAdmin говорит что корректно установился pgAdmin :) Можете ли вы в нем к серверу подключиться?
здесь Вам к гуглу)
Доброго всем дня!
У меня в конце установки на ubuntu 14.04 ругается на отсутствие
W: Не удалось получить http://ppa.launchpad.net/trent-/ppa/ubuntu/dists/trusty/main/binary-amd64/Packages 404 Not Found
W: Не удалось получить http://ppa.launchpad.net/trent-/ppa/ubuntu/dists/trusty/main/binary-i386/Packages 404 Not Found
E: Некоторые индексные файлы не скачались. Они были проигнорированы или вместо них были использованы старые версии.
некоторых файлов:
Похоже что у вас проблемы с ppa:trent-/ppa. Просто удалите его из списка источников:
sudo apt-add-repository --remove ppa:trent-/ppa
Добрый день! застрял тут
После установки рабочая директория поумолчанию /etc/postgresql/{version}/main/ (графический инсталятор производит установку в /opt/, тогда рабочая директория будет /opt/PostgreSQL-{version}/data). В ней находятся основные конфигурационные файлы.
не могу найти файлы как и где мне теперь найти postgresql.conf ?
а как именно устанавливали? из репозитория?
Доброго времени суто!!! Вот такая ошибка при установки pgadmin
Некоторые пакеты невозможно установить . Возможно , Вы просите невозможного ,
или используете нестабильной дистрибутив , и запрошенные Вами пакеты
еще не созданы или были удалены из Incoming .
Следующая информация может поможет Вам исправить ситуацию:
Пакеты , имеющие недовольны зависимости:
pgadmin3 : Зависимости ( Depends ) : libwxbase2.8-0 (> = 2.8.12.1 ), но он не может быть установлен
Зависимости ( Depends ) : libwxgtk2.8-0 (> = 2.8.12.1 ), но он не может быть установлен
Рекомендует ( Recommends ) : pgagent но он не будет установлен
E : Невозможно устранить проблемы, вы поломанные зафиксированы пакеты .
Отправить комментарий