PostgreSQL service¶
Un file pg_service.conf
permette di usasre un alias per una connessione a un server PostgreSQL. Invece di salvare hostname, porta, nome del database e altro nel progetto QGIS, questi dati possono essere salvati separatamente. È anche possibile salvare username e password nel file pg_service.conf
per evitare di doverli salvare come testo in chiaro nel progetto QGIS.
Scopri di più a proposito dei PostgreSQL services nella documentazione QGIS.
QField - Connessione diretta¶
Se ti connetti direttamente a un database da QGIS, puoi usare un file pg_service.conf
mettendolo direttamente nella directory dei dati di QField. Puoi mettere il tuo file sia nella memoria interna del dispositivo sia nella scheda SD. Puoi verificare il percorso della directory dei dati di QField in fondo alla schermata About QField
nell'app.
Di solito il percorso su Android assomiglia a qualcosa del genere: /Android/data/ch.opengis.qfield/files/QField
.
Nota
A differenza dei sistemi *NIX dove il file si chiama .pg_service.conf
, su android si chiama pg_service.conf
senza il punto iniziale (.
).
QFieldCloud¶
Anche QFieldCloud supporta configurazioni pg_service.conf
. Devi configurare i tuoi layer con azione "Offline editing" e salvare la configurazione del progetto nella pagina dei segreti del progetto su QFieldCloud.
Ottieni maggiori informazioni su come configurare servizi PostgreSQL nella documentazione di QFieldCloud.
Creare un File pg_service.conf
per la Connessione PostgreSQL in QGIS e Secreti¶
Prima di iniziare, assicurarsi che il database PostgreSQL consenta connessioni da QFieldCloud. Fare riferimento a Specifiche tecniche per le istruzioni.
Configurazione File pg_service.conf
¶
Dobbiamo prima impostare un file di configurazione. Ci sono molte opzioni per organizzarlo, per saperne di più, fai riferimento alla documentazione PostgreSQL o segui la descrizione qui sotto.
-
Crea un File di Configurazione:
-
In Windows: Crea un file chiamato
pg_service.conf
e memorizzalo in un luogo facilmente accessibile. -
Su Linux/MacOS/Unix: Crea un file chiamato
.pg_service.conf
nella tua cartella home (~
). -
Definisci i Parametri di Connessione:
All'interno del file, specificare i parametri di connessione per il database PostgreSQL utilizzando il seguente formato:
[SERVICE_NAME]
host=your_host_or_ip
port=your_port
dbname=your_database_name
user=your_username
password=your_password
Sostituire i segnaposto (your_host_or_ip
, your_port
, your_database_name
, your_username
, your_password
) con i dettagli della connessione e salvare il file.
Ulteriori Passaggi di Configurazione per Windows¶
-
Imposta la Variabile d'Ambiente: Per garantire che QGIS riconosca
pg_service.conf
, creare una variabile d'ambiente che punti alla sua posizione: -
Accedere a "Questo PC" o "Il mio computer" > Proprietà > Impostazioni di sistema avanzate > Variabili di ambiente.
- Aggiungi una nuova variabile:
- Nome variabile:
PGSERVICEFILE
- Valore della variabile:
C:\Users\<YourUsername>\AppData\Roaming\postgresql\pg_service.conf
(o il tuo percorso del filepg_service.conf
).
- Nome variabile:
In alternativa, è possibile impostare le variabili d'ambiente direttamente in QGIS tramite Impostazioni > Opzioni > Sistema > Ambiente. Fare riferimento a [QGIS System Settings] (https://docs.qgis.org/3.28/en/docs/user_manual/introduction/qgis_configuration.html#system-settings) per i dettagli.
-
Test della connessione in QGIS: Apri QGIS e imposta una nuova connessione PostgreSQL usando il nome del servizio definito in
pg_service.conf
(es.,[MY_QGIS_DB]
) nei dettagli della connessione. QGIS leggerà automaticamente la configurazione dapg_service.conf
. -
Apri QGIS.
- Vai a "Layer" > "Aggiungi Layer" > "Aggiungi Layers PostGIS..."
- In "Crea una nuova connessione PostGIS", seleziona "Servizio" dal menu a discesa.
- Inserisci il nome del servizio da
pg_service.conf
(es.,[NINJA_DB]
) nel campo "Service". - Clicca su "OK" per connettersi al database PostgreSQL usando le configurazioni di
pg_service.conf
.
- Aggiungi Parametro a QFieldCloud Secrets: Passa alla pagina dei segreti del progetto e copia il servizio direttamente da
.pg_service.conf
al segreto. Segui Segreti per istruzioni.