В этом курсе мы будем использовать три экземпляра 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)
Конец демонстрации.