Установка и настройка postgresql на windows
Установка и настройка postgresql на windows
Установка postgresql, настройка БД и ролей
1. Скачайте и установите postgresql (https://www.postgresql.org/download/windows/)
Запустите установщик
Нажмите "Next"
Выбираем директорию установки
Next
Выбираем компоненты для установки (выделить все)
Next
Установить место хранения базы данных
Next
Ввести пароль для пользователя postgres
Next
Порт по умолчанию 5432
Next
Установить локаль по умолчанию Russian, Russia
Next
Проверить все настройки, после чего нажать Next
Next
2. Запуск и настройка postgresql
Первоначально необходимо изменить конфигурационные файлы postgresql.conf и pg_hba.conf в директории, куда установлена база данных
postgresql.conf:
изменить
listen_addresses = '*'
Остальные настройки можно оставить по-умолчанию, либо изменить исходя из комплектации сервера
pg_hba_conf:
меняем права на доступ пользователей к базе:
IPv4 local connections:
host all all 0.0.0.0/0 md5
IPv6 local connections:
host all all ::0/0 md5
Это означает, что все пользователи со всех адресов могут подключиться к любой базе данных используя логин и пароль.
Сохраняем, перезапускаем службу postgresql:
нажимаем комбинацию Win+R
Вводим services.msc
Ищем службу и нажимаем "перезапустить"
После этого запускаем меню пуск - postgresql 11 - SQL bash (psql)
Все значения по-умолчанию, просто нажимаем enter, вводим пароль для пользователя postgres
Создаем базу данных:
create database demo_01;
Сразу создаем в базе схему stack
\c demo_01
create schema stack;
Создаем пользователей db_owner и SA, необходимых для работы базы данных и даем им все необходимые права суперюзера
create role db_owner;
create role "SA" with password '12345678';
alter role "SA" superuser;
alter role "SA" createdb;
alter role "SA" createrole;
alter role "SA" replication;
alter role "SA" login;
аналогично для db_owner (без login)
После этого даем всем пользователям права на созданную базу данных
grant all privileges on database demo_01 to "SA";
grant all privileges on database demo_01 to db_owner;