Установка PostgreSQL на Ubuntu 14.04

  • Опубликовано:
  • Теги: postgresql

Установка

Поскольку PostgreSQL теперь есть в стандартных репозиториях Ubuntu, устанавливаем ее из apt:
sudo apt-get update
sudo apt-get install postgresql postgresql-contrib libpq-dev
В принципе это все, дальше надо создать базы и пользователей.

Создание ролей и баз данных

Во время установки PostgreSQL создается Linux-пользователь postgres и Postgre-суперпользователь postgre. Чтобы открыть оболочку postgre psql под определенным пользователем, нужно сначала залогиниться в системе:
sudo -i -u postgres
Новые пользователи создаются командой
createuser --interactive
Укажите имя пользователя, к примеру testuser. Далее, создаем базу данных (под пользователем postgres)
createdb test1
Входим в оболочку командой
psql
Делегируем права на базу данных пользователю и устанавливаем его пароль.
=# GRANT ALL PRIVILEGES ON DATABASE testuser TO testdb;
GRANT
=# ALTER USER testuser WITH ENCRYPTED PASSWORD 'passsword';
ALTER ROLE

Полезные команды

ОписаниеКоманды
Подключиться к базе=# \c имя_базы
Список баз данных=# \l
Список таблиц=# \dt
Список столбцов=# \d имя_таблицы
Описание таблицы=# \d+ имя_таблицы
Список пользователей=# \du
Выход из оболочки=# \q
Управление сервером из терминала

sudo service postgresql (start|stop|reload|restart|status)

Настройка удаленного доступа

Наверное излишне говорить, что это можно делать только на тестовом сервере.
Для PostgreSQL 9.3 открываем

sudo nano /etc/postgresql/9.3/main/pg_hba.conf
и добавляем строку
host all all 192.168.11.10/24 md5
где вместо 192.168.11.10/24 укажите свою сеть.

Важно!
Иногда файл конфигурации может находиться в другом месте, например /var/lib/postgresql/data/postgresql.conf

Узнать это можно в оболочке с помощью команды
SHOW config_file;
Далее, открываем

sudo nano /etc/postgresql/9.3/main/postgresql.conf
указываем ip-адреса через запятую или пробел или просто звездочку:
 listen_addresses='*'
и перезапускаем сервер

sudo /etc/init.d/postgresql restart
В iptables добавить разрешения:
-A INPUT -p tcp -s 192.168.11.10 -m state --state NEW --dport 5432 -j ACCEPT
Перезапускаем ssh

sudo service ssh restart