Impostazioni per consentire ad altri PC di connettersi al database PostgreSQL (versione Windows)

Pagina aggiornata :
Data di creazione della pagina :

Ambiente operativo

PostgreSQL
  • PostgreSQL 15
Windows (server)
  • Windows Server 2019
Windows (client)
  • finestre 11

Prerequisiti

Finestre
  • Windows Server 2019
  • Windows Server 2016
  • Altre versioni potrebbero funzionare, ma non sono ufficialmente supportate.

firewall

In Windows, i firewall impediscono connessioni diverse dalle porte standard. Deve essere configurato per potersi connettere sulla porta per la connessione a PostgreSQL.

Dopo aver effettuato l'accesso all'ambiente Windows lato server, digitare "firewall" dal menu di avvio e selezionare Apri Windows Defender Firewall con sicurezza avanzata.

Quando si apre la schermata, seleziona "Regole in entrata" dal menu a sinistra e fai clic su "Nuova regola..." dal menu a destra.

Per Tipo di regola, selezionare Porta.

Per Protocollo e porta, selezionare TCP come protocollo. Per la porta, immettere il valore predefinito di 5432. Se hai specificato un numero di porta diverso nell'installazione di PostgreSQL, inserisci quel numero di porta.

Per "Azione", seleziona "Consenti connessione".

In "Profilo", seleziona "Dominio" e "Privato". Penso che sia improbabile che si consenta l'accesso a un database in un ambiente "pubblico" che consentirà a persone non specificate di accedervi.

Immettere un nome e una descrizione facoltativi. Si prega di inserirlo in modo che sia facile capire lo scopo dell'apertura della porta.

Una volta aggiunto, apparirà nell'elenco.

postgresql.conf

Controllare le impostazioni in postgresql.conf. Non credo che sia necessario cambiarlo nella versione 15.

C'è un file nella seguente posizione, quindi aprilo con un'applicazione blocco note. Si prega di controllare il percorso in quanto varia a seconda della versione.

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

listen_addresses Cercare il parametro chiamato. Non è necessario modificarlo se è impostato come segue:

listen_addresses = '*'

pg_hba.conf

Per impostazione predefinita, è possibile accedere al database solo dall'ambiente locale.

C'è un file nella seguente posizione, quindi aprilo con un'applicazione blocco note. Si prega di controllare il percorso in quanto varia a seconda della versione.

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

C'è la possibilità che tu possa commettere un errore nel correggerlo, quindi copia ed esegui il backup del file prima di modificarlo per ogni evenienza.

Se scorri fino in fondo, troverai le seguenti righe: Ciò indica che è possibile accedere a IPv4 solo localmente.

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

Impostare questo INDIRIZZO su un singolo o un intervallo in modo che sia possibile accedervi da altri PC. Il valore impostato dipende dalla rete che si sta costruendo. In caso di dubbi, 0.0.0.0/0 consentire tutti con o samenet digitare per consentire tutta la portata della stessa rete del server.

Esempi di configurazione

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

Riavvia il servizio

pg_hba.conf Questi file di configurazione vengono letti solo all'avvio di PostgreSQL, quindi è necessario riavviare il servizio. A proposito, viene caricato all'avvio di PostgreSQL, quindi se si riavvia Windows, verrà caricato in quel momento.

Dopo aver aperto il menu di avvio, digita "servizi" per avviarlo.

Trova e seleziona "postgresql-x64-15 - PostgreSQL Server 15" dall'elenco centrale. Tieni presente che il nome varierà a seconda della versione. Una volta selezionato, fai clic su "Riavvia servizio" da sinistra.

Verifica della connessione da altri PC

Vediamo se riusciamo a connetterci al database da un altro PC. Le informazioni sulla destinazione della connessione variano a seconda dell'ambiente, quindi qui viene descritta solo la procedura. Sto usando pgAdmin per connettermi questa volta, ma penso che tu possa connetterti anche con altri strumenti di accesso al database.

Dopo aver avviato pgAdmin su un PC client separato dal server del database, fare clic con il pulsante destro del mouse su Server e selezionare "Registra > server...".

Nella scheda Generale, il nome dovrebbe essere un nome che ti aiuterà a identificare il server.

Selezionare la scheda Connessione. Inserire "Nome/indirizzo host", "Dati di manutenzione", "Nome utente" e "Password". Se non vuoi inserire la password ogni volta, attiva "Salva password". A proposito, pdAdmin potrebbe non essere in grado di risolvere il nome dell'host, quindi in tal caso, specifica direttamente l'indirizzo IP.

Compila gli altri campi di input secondo necessità. Al termine, fai clic sul pulsante "Salva".

Se è possibile connettersi al database del server di destinazione, la verifica è completa.