Serviço PostgreSQL¶
Um ficheiro pg_service.conf
permite usar um pseudonome para uma ligação com o servidor PostgreSQL. Em vez de armazenar o nome do servidor, porta, nome da base de dados e mais no ficheiro do Projeto QGIS, estes podem ser armazenados separadamente. É ainda possível armazenar nome de utilizador e palavra-chave num ficheiro pg_service.conf
, para evitar que seja armazenado num texto não criptografado no Projeto QGIS.
Leia mais sobre os serviços PostgreSQL na documentação QGIS.
QField - Ligação direta¶
Se ligar diretamente do QGIS ao sua base de dados, poderá usar um ficheiro pg_service.conf
colocando-o na pasta de dados QField. Poderá colocar o seu ficheiro no armazenamento interno do dispositivo ou no armazenamento do cartão SD. Pode verificar o caminho para a pasta de dados QField na parte inferior da tela Sobre QField
na aplicação.
Normalmente o caminho nos dispositivos Android são algo semelhante a: /Android/data/ch.opengis.qfield/files/QField
.
Nota
Ao contrário dos sistemas *NIX em que o ficheiro é denominado .pg_service.conf
, o arquivo no Android é denominado pg_service.conf
sem um sinal de ponto à esquerda (.
).
QFieldCloud¶
QFieldCloud também suporta configurações pg_service.conf
. Precisa de configurar as camadas do PostgreSQL com a ação de nuvem "Edição offline" e armazenar as configurações de serviço na página Secrets do Projeto QFieldCloud.
Leia mais como configurar um serviço PostgreSQL na documentação do QField.
Creating a pg_service.conf
File for PostgreSQL Connection in QGIS and Secrets¶
Before beginning, ensure that your PostgreSQL database allows connections from QFieldCloud. Refer to Technical specs for instructions.
Setup pg_service.conf
File¶
We first need to set up a configuration file. There are many options to organize this, read more in the PostgreSQL documentation or follow the description below.
-
Create a Configuration File:
-
On Windows: Create a file named
pg_service.conf
and store it in a convenient location. -
On Linux/MacOS/Unix: Create a file named
.pg_service.conf
in your home folder (~
). -
Define Connection Parameters:
Within the file, specify connection parameters for your PostgreSQL database using the following format:
[SERVICE_NAME]
host=your_host_or_ip
port=your_port
dbname=your_database_name
user=your_username
password=your_password
Replace placeholders (your_host_or_ip
, your_port
, your_database_name
, your_username
, your_password
) with actual connection details and save the file.
Additional Configuration Steps for Windows¶
-
Set Environment Variable: To ensure QGIS recognizes
pg_service.conf
, create an environment variable pointing to its location: -
Navigate to "This PC" or "My Computer" > Properties > Advanced System Settings > Environment Variables.
- Add a new variable:
- Variable name:
PGSERVICEFILE
- Variable value:
C:\Users\<YourUsername>\AppData\Roaming\postgresql\pg_service.conf
(or yourpg_service.conf
file path).
- Variable name:
Alternatively, you can set environment variables directly in QGIS via Settings > Options > System > Environment. Refer to QGIS System Settings for details.
-
Test the Connection in QGIS: Open QGIS and set up a new PostgreSQL connection using the service name defined in
pg_service.conf
(e.g.,[MY_QGIS_DB]
) in the connection details. QGIS will read configuration frompg_service.conf
automatically. -
Open QGIS.
- Go to "Layer" > "Add Layer" > "Add PostGIS Layers..."
- In "Create a New PostGIS Connection," select "Service" from the drop-down menu.
- Enter the service name from
pg_service.conf
(e.g.,[NINJA_DB]
) in the "Service" field. - Click "OK" to connect to your PostgreSQL database using configurations from
pg_service.conf
.
- Add Parameter to QFieldCloud Secrets: Navigate to the project's secrets page and copy the service directly from
.pg_service.conf
to the secret. Follow Secrets for guidance.