PostgreSQL servicio¶
Un archivo pg_service.conf
permite usar un alias con nombre para una conexión al servidor PostgreSQL.
En lugar de almacenar el nombre de host, el puerto, el nombre de la base de datos, etc., en el archivo del proyecto QGIS, estos datos se pueden almacenar por separado.
Incluso es posible almacenar el nombre de usuario y la contraseña en un archivo pg_service.conf
para evitar que se almacenen en texto plano en el proyecto QGIS.
Read more about PostgreSQL services in the QGIS documentation.
QField - Conexión directa¶
Si se conecta directamente desde QGIS a su base de datos, puede usar el archivo pg_service.conf
colocándolo en la carpeta de datos de QField.
Puede guardar el archivo en el almacenamiento interno del dispositivo o en la tarjeta SD.
Puede consultar la ruta de la carpeta de datos de QField en la parte inferior de la pantalla Acerca de QField
de la aplicación.
Por lo general, la ruta en los dispositivos Android se ve así: /Android/data/ch.opengis.qfield/files/QField
.
Nota
A diferencia de los sistemas *NIX donde el archivo se llama .pg_service.conf
, el archivo en Android se llama pg_service.conf
sin el signo de punto inicial (.
).
QFieldCloud¶
QFieldCloud también admite la configuración de pg_service.conf
. Debe configurar sus capas de PostgreSQL con la acción en la nube "Edición sin conexión" y guardar la configuración del servicio en la página de secretos del proyecto QFieldCloud.
Lea más cómo configurar el servicio PostgreSQL en la documentación de QFieldCloud.
Creación de un archivo pg_service.conf
para la conexión PostgreSQL en QGIS y Secrets¶
Antes de comenzar, asegúrese de que su base de datos PostgreSQL permita conexiones desde QFieldCloud. Consulte las Especificaciones técnicas para obtener instrucciones.
Configurar el archivo pg_service.conf
.¶
Primero necesitamos crear un archivo de configuración. Hay muchas opciones para organizar esto. Más información en la documentación de PostgreSQL o siga la descripción a continuación.
-
Crear un archivo de configuración:
-
En Windows: Cree un archivo llamado
pg_service.conf
y guárdelo en una ubicación conveniente. -
En Linux/MacOS/Unix: Cree un archivo llamado
.pg_service.conf
en su carpeta de inicio (~
). -
Definir parámetros de conexión:
Dentro del archivo, especifique los parámetros de conexión para su base de datos PostgreSQL utilizando el siguiente formato:
[SERVICE_NAME]
host=your_host_or_ip
port=your_port
dbname=your_database_name
user=your_username
password=your_password
Sustituya los marcadores de posición (tu_host_o_ip
, tu_puerto
, tu_nombre_basedatos
, tu_nombreusuario
, tu_contraseña
) por los detalles reales de la conexión y guarde el archivo.
Pasos adicionales de configuración para Windows¶
-
Establecer variable de entorno: Para asegurarse de que QGIS reconoce
pg_service.conf
, cree una variable de entorno que apunte a su ubicación: -
Navigate to This PC or My Computer > Properties > Advanced System Settings > Environment Variables.
- Añadir una variable nueva:
- Nombre de la variable:
PGSERVICEFILE
- Valor variable:
C:\Users\<YourUsername>\AppData\Roaming\postgresql\pg_service.conf
(or yourpg_service.conf
file path).
- Nombre de la variable:
Alternatively, you can set environment variables directly in QGIS via Settings > Options > System > Environment. Refer to QGIS System Settings for details.
-
Pruebe la conexión en QGIS: Abra QGIS y configure una nueva conexión PostgreSQL utilizando el nombre de servicio definido en
pg_service.conf
(por ejemplo,[MY_QGIS_DB]
) en los detalles de la conexión. QGIS leerá la configuración depg_service.conf
automáticamente. -
Abrir QGIS.
- Go to Layer > Add Layer > Add PostGIS Layers...
- In Create a New PostGIS Connection, select "Service" from the drop-down menu.
- Introduzca el nombre del servicio de
pg_service.conf
(por ejemplo,[NINJA_DB]
) en el campo "Service". - Haga clic en "Aceptar" para conectarse a su base de datos PostgreSQL utilizando las configuraciones de
pg_service.conf
.
- Agregar parámetro a los secretos de QFieldCloud: navegue a la página de secretos del proyecto y copie el servicio directamente desde
.pg_service.conf
al secreto. Siga Secretos para obtener orientación.