Vai al contenuto

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.

  1. Crea un File di Configurazione:

  2. In Windows: Crea un file chiamato pg_service.conf e memorizzalo in un luogo facilmente accessibile.

  3. Su Linux/MacOS/Unix: Crea un file chiamato .pg_service.conf nella tua cartella home (~).

  4. 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.

Parameters
Parameters

Ulteriori Passaggi di Configurazione per Windows

  1. Imposta la Variabile d'Ambiente: Per garantire che QGIS riconosca pg_service.conf, creare una variabile d'ambiente che punti alla sua posizione:

  2. Accedere a "Questo PC" o "Il mio computer" > Proprietà > Impostazioni di sistema avanzate > Variabili di ambiente.

  3. Aggiungi una nuova variabile:
    • Nome variabile: PGSERVICEFILE
    • Valore della variabile: C:\Users\<YourUsername>\AppData\Roaming\postgresql\pg_service.conf (o il tuo percorso del file pg_service.conf).

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.

QGIS System Environment Variables
QGIS System Environment Variables

  1. 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 da pg_service.conf.

  2. Apri QGIS.

  3. Vai a "Layer" > "Aggiungi Layer" > "Aggiungi Layers PostGIS..."
  4. In "Crea una nuova connessione PostGIS", seleziona "Servizio" dal menu a discesa.
  5. Inserisci il nome del servizio da pg_service.conf (es., [NINJA_DB]) nel campo "Service".
  6. Clicca su "OK" per connettersi al database PostgreSQL usando le configurazioni di pg_service.conf.

Testare le tue connessioni
Testare le tue connessioni

  1. 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.

Add the secret
Add the secret