Настройки, за да се позволи на други компютри да се свързват с базата данни на PostgreSQL (версия на Windows)

Страницата се актуализира :
Дата на създаване на страница :

Работна среда

PostgreSQL
  • PostgreSQL 15
Windows (сървър)
  • Windows Server 2019
Windows (клиент)
  • Windows 11

Предпоставки

Уиндоус
  • Windows Server 2019
  • Windows Server 2016
  • Други версии може да работят, но не се поддържат официално.

защитна стена

В Windows защитните стени предотвратяват връзки, различни от стандартните портове. Той трябва да бъде конфигуриран, за да може да се свързва на порта за свързване към PostgreSQL.

След като влезете в средата на Windows от страна на сървъра, въведете "защитна стена" от менюто "Старт" и изберете Отворете защитната стена на Windows Defender с разширена защита.

Когато екранът се отвори, изберете "Входящи правила" от менюто вляво и щракнете върху "Ново правило..." от менюто вдясно.

За Тип правило изберете Порт.

За Протокол и порт изберете TCP като протокол. За порта въведете по подразбиране 5432. Ако сте задали различен номер на порт във вашата инсталация на PostgreSQL, въведете този номер на порта.

За "Действие" изберете "Разрешаване на връзка".

В "Профил" проверете "Домейн" и "Частен". Мисля, че е малко вероятно да позволите достъп до база данни в "публична" среда, която ще позволи на неуточнени хора да имат достъп до нея.

Въведете незадължително име и описание. Моля, въведете го, за да е лесно да разберете целта на отварянето на порта.

След като бъде добавен, той ще се появи в списъка.

postgresql.conf

Проверете настройките в postgresql.conf. Не мисля, че е необходимо да го променяте във версия 15.

На следното място има файл, така че го отворете с приложение за бележник. Моля, проверете пътя, тъй като той варира в зависимост от версията.

C:\Program Files\PostgreSQL\15\data\postgresql.conf

listen_addresses Потърсете извикания параметър. Не е необходимо да го променяте, ако е зададен по следния начин:

listen_addresses = '*'

pg_hba.conf

По подразбиране базата данни може да бъде достъпна само от локалната среда.

На следното място има файл, така че го отворете с приложение за бележник. Моля, проверете пътя, тъй като той варира в зависимост от версията.

C:\Program Files\PostgreSQL\15\data\pg_hba.conf

Има вероятност да направите грешка при коригирането му, така че, моля, копирайте и архивирайте файла, преди да го промените за всеки случай.

Ако превъртите до дъното, ще намерите следните редове: Това показва, че IPv4 може да бъде достъпен само локално.

# TYPE  DATABASE        USER            ADDRESS                 METHOD
  :
host    all             all             127.0.0.1/32            scram-sha-256
  :

Задайте този АДРЕС на един или диапазон, така че да може да бъде достъпен от други компютри. Стойността, която задавате, зависи от мрежата, която изграждате. Ако не сте сигурни, моля, 0.0.0.0/0 позволете на всички с или samenet тип да разрешат целия обхват на същата мрежа като сървъра.

Примери за конфигурация

# TYPE  DATABASE        USER            ADDRESS                 METHOD
  :
host    all             all             192.168.0.0/24          scram-sha-256
  :

Рестартирайте услугата

pg_hba.conf Тези конфигурационни файлове се четат само при стартиране на PostgreSQL, така че трябва да рестартирате услугата. Между другото, той се зарежда при стартиране на PostgreSQL, така че ако рестартирате Windows, той ще бъде зареден в това време.

След като отворите стартовото меню, въведете "услуги", за да го стартирате.

Намерете и изберете "postgresql-x64-15 - PostgreSQL Server 15" от средния списък. Имайте предвид, че името ще варира в зависимост от версията. След като изберете, щракнете върху "Рестартиране на услугата" отляво.

Проверка на връзката от други компютри

Нека видим дали можем да се свържем с базата данни от друг компютър. Информацията за местоназначението на връзката варира в зависимост от средата, така че тук е описана само процедурата. Този път използвам pgAdmin, за да се свържа, но мисля, че можете да се свържете и с други инструменти за достъп до база данни.

След като стартирате pgAdmin на клиентски компютър, отделен от сървъра на базата данни, щракнете с десния бутон върху Сървъри и изберете "Регистрация > сървър...".

В раздела Общи името трябва да е име, което ще ви помогне да идентифицирате сървъра.

Изберете раздела Връзка. Въведете "Име/адрес на хоста", "Данни за поддръжка", "Потребителско име" и "Парола". Ако не искате да въвеждате паролата всеки път, включете "Запазване на паролата". Между другото, pdAdmin може да не успее да разреши името на хост, така че в този случай посочете IP адреса директно.

Попълнете другите полета за въвеждане, ако е необходимо. Когато сте готови, щракнете върху бутона "Запазване".

Ако можете да се свържете с базата данни на целевия сървър, проверката е завършена.