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.
Lea más sobre los servicios de PostgreSQL en la documentación de QGIS.
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: -
Vaya a "Este PC" o "Mi PC" > Propiedades > Configuración avanzada del sistema > Variables de entorno.
- 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:
Alternativamente, puede configurar las variables de entorno directamente en QGIS a través de Configuración > Opciones > Sistema > Entorno. Consulte Configuración del sistema QGIS para obtener más detalles.
-
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.
- Vaya a "Capa" > "Añadir capa" > "Añadir capas PostGIS...".
- En "Crear una nueva conexión PostGIS", seleccione "Servicio" en el menú desplegable.
- 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.