
Установка
Поскольку 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