PostgreSQL
Esta sección explica cómo configurar la conectividad a un destino PostgreSQL utilizando el conector de destino PostgreSQL. PostgreSQL se puede utilizar como destino únicamente en una tarea de replicación. Antes de poder conectar a un destino PostgreSQL, debe configurar los Permisos requeridos en la base de datos. Si se conecta a PostgreSQL a través de Pasarela Data Movement, también deberá instalar el controlador como se describe en Configuración del controlador.
Para obtener información sobre limitaciones y consideraciones al utilizar el conector PostgreSQL , consulte Limitaciones y consideraciones.
Configurar las propiedades de la conexión
Para configurar el conector, haga lo siguiente:
-
En Conexiones, haga clic en Crear conexión.
-
Seleccione el conector de destino PostgreSQL y luego proporcione la siguiente configuración:
Destino de datos
-
Pasarela de datos: Cuando trabaje con Pasarela Data Movement seleccione la pasarela de datos que se utilizará para probar la conexión con el destino de PostgreSQL. Esta debería ser la misma pasarela que se utilizó para acceder a la fuente de datos.
Nota informativa- Este campo no está disponible con la suscripción Qlik Talend Cloud Starter porque Pasarela Data Movement no se admite con este nivel de suscripción.
-
También necesita instalar el controlador adecuado en la máquina de Pasarela Data Movement. Para más detalles, consulte Configuración del controlador a continuación.
-
Proveedor de servicios en la nube: elija uno de los siguientes según corresponda:
-
Ninguno: selecciónelo cuando trabaje con:
- PostgreSQL localmente
- Amazon Aurora MySQL
- Azure Database para PostgreSQL: servidor flexible
- Ninguna Pasarela Data Movement
-
Amazon RDS
Para Amazon RDS para PostgreSQL.
-
Google Cloud: selecciónelo cuando trabaje con:
- Google Cloud SQL para PostgreSQL
- Google Cloud AlloyDB para PostgreSQL
-
Microsoft Azure
Para Microsoft Azure Database para PostgreSQL.
-
-
Host: el nombre del host o la dirección IP del equipo en el que esté instalada la base de datos de PostgreSQL.
-
Puerto: El puerto que se utilizará al conectarse a la base de datos. El valor predeterminado es 5432.
Propiedades de la cuenta
Nombre de usuario y Contraseña: el nombre de usuario y la contraseña de un usuario autorizado para acceder a la base de datos PostgreSQL Server.
Propiedades de la base de datos
-
Nombre de la base de datos: hay dos métodos que puede utilizar para especificar una base de datos:
- Método 1 - Seleccionarlo de una lista: haga clic en Cargar bases de datos y seleccione una base de datos.
- Método 2 - Manualmente: seleccione Insertar el nombre de la base de datos manualmente e indique el nombre de la base de datos.
- SSL Mode: seleccione una de las siguientes opciones:
- Disable: conéctese solo con apellido y contraseña.
- Allow: establezca una conexión cifrada si lo solicita el servidor.
- Prefer: esta es la opción predeterminada. Establece una conexión cifrada si el servidor admite conexiones cifradas, recurriendo de nuevo a una conexión no cifrada si no logra establecer una conexión cifrada.
- Required: establece una conexión cifrada si el servidor admite conexiones cifradas. El intento de conexión falla si no se puede establecer una conexión cifrada.
- Verify-ca: similar a Required, pero también verifica el certificado de la Autoridad de certificación (CA) del servidor comparándolo con los certificados de CA configurados. El intento de conexión falla si no se encuentran certificados CA coincidentes válidos.
- Verify-full: similar a Verify-ca, pero también realiza la verificación de identidad del nombre de host comprobando que el nombre de host del cliente (es decir, Qlik Talend Data Integration) lo utiliza para conectarse al servidor comparándolo con la identidad del certificado que el servidor envía al cliente. El cliente comprueba si el nombre de host que utiliza para conectarse coincide con el valor del nombre común en el certificado del servidor. La conexión falla si no hay coincidencias.
- Trusted certificate: la autoridad de certificación (CA) que emitió el archivo de certificado de cliente en formato PEM.
- Client certificate: carga el certificado de cliente solicitado por el servidor.
- Client certificate key: el archivo de clave privada del cliente en formato PEM.
- CRL: el certificado CRL. Este archivo contiene certificados revocados por las autoridades de certificación. Si el certificado del servidor aparece en esta lista, la conexión fallará.
- SSL compression: seleccione esta opción para comprimir los datos antes de cifrarlos.
- Tamaño máximo de archivo (KB): Seleccione o escriba el tamaño máximo (en KB) de un archivo CSV antes de cargarlo en la base de datos de destino PostgreSQL. El valor predeterminado es 32000 KB.
Propiedades internas
Las propiedades internas son para casos de uso especiales y, por lo tanto, no se exponen en el cuadro de diálogo. Solo deberá usarlas si se lo indica el Soporte de Qlik.
Haga uso de los botones y a la derecha de los campos para agregar o eliminar propiedades según sea necesario.
Nombre
El nombre que mostrará la conexión.
Requisitos previos
Permisos requeridos
El usuario especificado en la configuración del conector debe ser un usuario registrado en la base de datos de PostgreSQL.
Además, se deben otorgar los siguientes privilegios:
- Puede iniciar sesión
- Crear bases de datos
Configuración del controlador
Puede instalar el driver usando la utilidad de instalación del driver (recomendado) o manualmente. La instalación manual solo debe intentarse en el improbable caso de que encuentre un problema con la utilidad de instalación del driver.
Uso de la utilidad de instalación del driver para instalar el driver/controlador
Esta sección describe cómo instalar el driver necesario. El proceso implica ejecutar un script que descargará, instalará y configurará automáticamente el driver requerido. También puede ejecutar secuencias de script para actualizar y desinstalar el driver según sea necesario.
Preparar la instalación
-
Asegúrese de que Python 3.6 o posterior esté instalado en el servidor de la pasarela de Data Movement.
Python viene preinstalado en la mayoría de las distribuciones de Linux. Puede verificar qué versión de Python está instalada en su sistema ejecutando el siguiente comando:
python3 --version
Instalar el paquete de visualización driver
Para descargar e instalar el driver:
-
En la máquina de la puerta de enlace de Data Movement, cambie el directorio de trabajo a:
opt/qlik/gateway/movement/drivers/bin
-
Ejecute el siguiente comando:
Sintaxis:
./install postgres
Si no logra descargar el driver (debido a restricciones de acceso o problemas técnicos), aparecerá un mensaje indicándole dónde puede descargar el driver y dónde copiarlo en la máquina de la puerta de enlace de Data Movement. Una vez hecho esto, ejecute nuevamente el comando install postgres.
De lo contrario, se mostrará el EULA del driver.
-
Puede realizar una de las acciones siguientes:
- Pulse [Intro] repetidamente para desplazarse por el EULA.
- Pulse la barra espaciadora repetidamente para desplazarse rápidamente por el EULA.
- Pulse q para salir del texto de la licencia y ver las opciones de aceptación del EULA.
-
Puede realizar una de las acciones siguientes:
- Escriba "y" y pulse [Intro] para aceptar el EULA y comenzar la instalación.
- Escriba "n" y pulse [Intro] para rechazar el EULA y salir de la instalación.
-
Escriba "v" y pulse [Intro] para ver el EULA de nuevo.
Se instalará el driver.
Actualizar el driver
Ejecute el comando de actualización si desea desinstalar versiones anteriores del driver antes de instalar el driver provisto.
Para descargar y actualizar el driver:
-
En la máquina de la puerta de enlace de Data Movement, cambie el directorio de trabajo a:
opt/qlik/gateway/movement/drivers/bin
-
Ejecute el siguiente comando:
Sintaxis:
./update postgres
Si no logra descargar el driver (debido a restricciones de acceso o problemas técnicos), aparecerá un mensaje indicándole dónde puede descargar el driver y dónde copiarlo en la máquina de la puerta de enlace de Data Movement. Una vez hecho esto, ejecute nuevamente el comando update postgres.
De lo contrario, se mostrará el EULA del driver.
-
Puede realizar una de las acciones siguientes:
- Pulse [Intro] repetidamente para desplazarse por el EULA.
- Pulse la barra espaciadora repetidamente para desplazarse rápidamente por el EULA.
- Pulse q para salir del texto de la licencia y ver las opciones de aceptación del EULA.
-
Puede realizar una de las acciones siguientes:
- Escriba "y" y pulse [Intro] para aceptar el EULA y comenzar la instalación.
- Escriba "n" y pulse [Intro] para rechazar el EULA y salir de la instalación.
- Escriba "v" y pulse [Intro] para ver el EULA desde el principio.
El driver anterior se desinstalará y se instalará el nuevo driver.
Desinstalar el driver
Ejecute el comando de desinstalación si desea desinstalar el driver.
Para desinstalar el driver:
-
Detenga todas las tareas configuradas para utilizar este conector.
-
En la máquina de la pasarela de Data Movement, cambie el directorio de trabajo a:
opt/qlik/gateway/movement/drivers/bin
-
Ejecute el siguiente comando:
Sintaxis:
./uninstall postgres
Se desinstalará el driver.
Instalar los controladores y las librerías manualmente
Solo debe intentar instalar el driver manualmente si la instalación automática del driver no se realizó correctamente.
Una vez que se haya instalado Pasarela Data Movement, descargue los siguientes archivos RPM. Encontrará enlaces de descarga directa a la versión compatible en binary-artifacts, en /opt/qlik/gateway/movement/drivers/manifests/postgres.yaml. Una vez completada la descarga, copie los archivos a la máquina de Pasarela Data Movement.
Cuando Pasarela Data Movement está instalado en Red Hat 9.x:
- postgresql<version>-libs-<version>PGDG.rhel9.x86_64.rpm
- postgresql<version>-<version>PGDG.rhel9.x86_64.rpm
- postgresql<version>-odbc-<version>PGDG.rhel9.x86_64.
Cuando Pasarela Data Movement está instalado en Red Hat 8.x:
- postgresql<version>-libs-<version>PGDG.rhel8.x86_64.rpm
- postgresql<version>-<version>PGDG.rhel8.x86_64.rpm
- postgresql<version>-odbc-<version>PGDG.rhel8.x86_64.rpm
En el servidor de Data Movement gateway, abra un símbolo del shell y haga lo siguiente:
-
Detenga el servicio Data Movement gateway:
sudo systemctl stop repagent
-
Opcionalmente, confirme que el servicio se ha detenido:
sudo systemctl status repagent
El estado debería ser el siguiente:
Active: inactive (dead) since <timestamp> ago
-
Instale los archivos RPM.
-
Cambie el directorio de trabajo a <Data Movement gateway-Install-Dir>/bin.
-
Copie la ubicación del controlador en el archivo site_arep_login.sh, de la siguiente manera:
echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/lib:/usr/lib64:/usr/pgsql-<version>/lib" >> site_arep_login.sh
Esto agregará el controlador a "LD_LIBRARY_PATH" y actualizará la ubicación del controlador en el archivo site_arep_login.sh.
-
Opcionalmente, confirme que se copió la ubicación del controlador:
cat site_arep_login.sh
-
Asegúrese de que el archivo /etc/odbcinst.ini contenga una entrada para PostgreSQL, como en el siguiente ejemplo:
[PostgreSQL]
Description = PostgreSQL ODBC driver
Driver = /usr/pgsql-13/lib/psqlodbc.so
Setup = /usr/pgsql-13/lib/psqlodbcw.so
UsageCount = 1
-
Inicie el servicio Data Movement gateway:
sudo systemctl start repagent
-
Opcionalmente, confirme que el servicio se ha iniciado:
sudo systemctl status repagent
El estado debería ser el siguiente:
Active: active (running) since <timestamp> ago
Limitaciones y consideraciones
Se aplican las siguientes limitaciones al utilizar PostgreSQL como destino de replicación:
- No se admiten las operaciones ACTUALIZAR y ELIMINAR en tablas sin una clave principal/índice único que contengan registros duplicados. Cualquier cambio en estas tablas afectará a todos los registros del destino.
- Las tablas con una columna LOB en la clave no se admiten en el modo de aplicación optimizado por lotes. Cuando se utiliza una columna VARBINARY como clave de la tabla de origen, se creará una columna BYTEA en el destino. Esto provoca un comportamiento impredecible en el modo de aplicación optimizado por lotes. Como solución alternativa, sugerimos utilizar la función SQLite HEX para convertir VARBINARY a VARCHAR.
Tipos de datos
La información del tipo de datos nativo se conserva y se muestra en la columna Tipo de datos nativo en las vistas de conjuntos de datos. Si la columna no está visible, debe abrir el selector de columnas de la vista del conjunto de datos y seleccionar la columna Tipo de datos nativo.
Tipos de datos de Qlik Cloud | Tipos de datos de PostgreSQL |
---|---|
BOOL |
BOOL |
BYTES |
BYTEA |
DATE |
DATE |
TIME |
TIME |
DATETIME |
Si la escala es => 0 y =< 6, entonces: TIMESTAMP Si la escala es => 7 y =< 12, entonces: VARCHAR (37) |
INT1 |
SMALLINT |
INT2 |
SMALLINT |
INT4 |
INTEGER |
INT8 |
BIGINT |
NUMERIC |
DECIMAL (P, S) |
REAL4 |
FLOAT4 |
REAL8 |
FLOAT8 |
STRING |
Si la longitud es 1 - 21845, entonces: VARCHAR (Longitud en Bytes = El valor STRING multiplicado por tres) Si la longitud es 21846 - 2147483647, entonces: VARCHAR (65535) |
UINT1 |
SMALLINT |
UINT2 |
INTEGER |
UINT4 |
BIGINT |
UINT8 |
BIGINT |
WSTRING |
Si la longitud es 1 - 21845, entonces: VARCHAR (Longitud en Bytes = El valor WSTRING multiplicado por tres) Si la longitud es 21846 - 2147483647, entonces: VARCHAR (65535) |
BLOB |
BYTEA |
NCLOB |
TEXT |
CLOB |
TEXT |
Tipos de datos al replicar desde un origen PostgreSQL
Al replicar desde una fuente PostgreSQL, la tabla de destino se creará con los mismos tipos de datos para todas las columnas, excepto las columnas con tipos de datos PostGIS o definidos por el usuario. En tales casos, el tipo de datos se creará como "carácter variable" en el destino.