Предварительные настройки

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


Конец демонстрации.