В этом курсе мы будем использовать три экземпляра PostgreSQL, названные Альфа, Бета и Гамма:
student$ sudo pg_ctlcluster 10 alpha start
student$ sudo pg_ctlcluster 10 beta start
student$ sudo pg_ctlcluster 10 gamma start
В демонстрациях команды, выполняемые на каждом из серверов, выделены и отличаются приглашением.
Альфа работает на стандартном порту 5432:
student$ psql
α=> SHOW server_version;
server_version
----------------------------------
10.4 (Ubuntu 10.4-2.pgdg16.04+1)
(1 row)
Все практические задания выполняются под пользователем ОС student. В СУБД создан одноименный пользователь и база данных, чтобы psql можно было запускать без параметров.
Бета - на порту 5433:
student$ psql -p 5433
β=> SHOW server_version;
server_version
----------------------------------
10.4 (Ubuntu 10.4-2.pgdg16.04+1)
(1 row)
Для подключения в psql достаточно указать только номер порта.
И Гамма - на порту 5434:
student$ psql -p 5434
γ=> SHOW server_version;
server_version
----------------------------------
10.4 (Ubuntu 10.4-2.pgdg16.04+1)
(1 row)
Пользователь СУБД student не является суперпользователем, но обладает правом создания баз данных и ролей и подключения по протоколу репликации:
α=> \du student
List of roles
Role name | Attributes | Member of
-----------+-------------------------------------+-----------
student | Create role, Create DB, Replication | {}
В стандартный файл pg_hba.conf внесены изменения, чтобы разрешить локальное подключение любых пользователей без пароля:
α=> \c - postgres
You are now connected to database "student" as user "postgres".
α=> SELECT type, database, user_name, auth_method FROM pg_hba_file_rules();
type | database | user_name | auth_method
-------+---------------+------------+-------------
local | {all} | {postgres} | trust
local | {all} | {all} | trust
host | {all} | {all} | md5
host | {all} | {all} | md5
local | {replication} | {all} | trust
host | {replication} | {all} | md5
host | {replication} | {all} | md5
(7 rows)
Конец демонстрации.