Разрешение подключения с разных IP-адресов к Windows версии СУБД Postgres

Перед тем как разрешать доступ к всем из сети к сервису PostgreSQL рекомендуется поменять пароль пользователя scuser по-умолчанию в целях безопасности. Далее предполагается, что программа Severcart установлена в каталог c:\sc\.

1. Смена пароля для пользователя scuser. Подключаемся к БД с помощью программы psql в командной строке cmd. Программа psql уже входит в комплект поставки СУБД PostgreSQL, поэтому её дополнительно устанавливать не нужно.

cd c:\sc\postgresql\bin\

psql -U scuser -h 127.0.0.1 -p 82 -W severcart

Реквизиты для подключения к БД находятся в конфигурационном файле c:\sc\app\conf\settings_prod.py секция DATABASES и PASSWORD. Для получения справки по ключам и аргументам программы psql наберите в командной строке psql -h.

Далее выполняем SQL инструкцию в оболочке psql:

ALTER USER scuser WITH PASSWORD 'new_password2';

Программа выведет ALTER ROLE. Выходим из оболочки psql.

\q

2. Останавливаем web-сервер Apache:

net stop djangostackApache

3. Меняем пароль scuser в конфигурационном файле c:\sc\app\conf\settings_prod.py на новый в секции DATABASES и PASSWORD

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'severcart',
        'USER': 'scuser',
        'PASSWORD': 'new_password2',
        'HOST': '127.0.0.1',
        'PORT': '5432',
    }
}

4. Запускаем службу Apache:

net start djangostackApache

5. Разрешаем подключение с любых ip-адресов. В конфигурационном файле c:\sc\postgresql\data\pg_hba.conf поменяем строки

host    all             all             127.0.0.1/32            md5

на строку

host    all             all             0.0.0.0/0            md5

6. В конфигурационном файле c:\sc\postgresql\data\postgresql.conf поменяем строку

#listen_addresses = 'localhost'
на строку

listen_addresses = '*'

7. Перезагружаем сервер Postgres, выполнив в командной строке cmd с правами Administrator, для того чтобы изменения вступили в силу.

net stop djangostackPostgreSQL

net start djangostackPostgreSQL

Настройки завершены. Теперь можно подключаться к службе PostgreSQL с другого компьютера.