# Установка и настройка postgresql на windows

Установка postgresql, настройка БД и ролей

1. Скачайте и установите postgresql (https://www.postgresql.org/download/windows/)

Запустите установщик

image

Нажмите "Next"

Выбираем директорию установки

image

Next

Выбираем компоненты для установки (выделить все)

image

Next

Установить место хранения базы данных

image

Next

Ввести пароль для пользователя postgres

image

Next

Порт по умолчанию 5432

image

Next

Установить локаль по умолчанию Russian, Russia

image

Next

Проверить все настройки, после чего нажать Next

image

Next

2. Запуск и настройка postgresql

Первоначально необходимо изменить конфигурационные файлы postgresql.conf и pg_hba.conf в директории, куда установлена база данных

image

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

Ищем службу и нажимаем "перезапустить"

image

После этого запускаем меню пуск - postgresql 11 - SQL bash (psql)

Все значения по-умолчанию, просто нажимаем enter, вводим пароль для пользователя postgres

image

Создаем базу данных:

create database demo_01;

image

Сразу создаем в базе схему stack

\c demo_01

create schema stack;

image

Создаем пользователей 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)

image

image

image

После этого даем всем пользователям права на созданную базу данных

grant all privileges on database demo_01 to "SA";

grant all privileges on database demo_01 to db_owner;

image