Saltearse al contenido

PostgresSQL

PostgresSQL conecta tu flujo con una base de datos PostgreSQL para guardar en una tabla los registros que llegan de otros componentes y para ejecutar sentencias SQL. También puede pasar los datos de conexión a un agente que consulte la base por sí mismo.

Cuándo usarlo

  • Guardar en una tabla las solicitudes o contactos que ha recogido el flujo.
  • Ejecutar una consulta SQL para preparar un informe.
  • Dar a un SQL Agent acceso a tu base de datos para que responda preguntas sobre ella.

Configuración

Necesitas una credencial Postgres SQL con la dirección de conexión de tu servidor. Consulta Credenciales.

El campo Operation decide qué hace el componente y qué campos aparecen:

  • Add (por defecto): guarda en una tabla los registros que conectes a Ingest Data. Si la tabla no existe, la crea con una columna de texto por cada campo de los registros.
  • SQL: ejecuta la sentencia que escribas en Search Query y devuelve las filas obtenidas. Cualquier sentencia que cambie datos o tablas se guarda en la base de datos.
  • DatabaseInfo: prepara los datos de conexión y la tabla para pasarlos a otro componente.
  • Retriever: ofrece la tabla como buscador por significado, para los componentes que piden un retriever. La tabla tiene que haberse llenado con Add y un Embedding conectado, y aquí hay que conectar el mismo modelo de embeddings. Para un almacén vectorial completo, usa PGVector.
CampoQué hace
Credential (obligatorio)La credencial Postgres SQL con los datos de conexión.
OperationQué hace el componente. Por defecto, Add.
Table Name (obligatorio)Con Add, Retriever y DatabaseInfo. La tabla en la que se guardan los datos, en la que se busca o la que se pasa a otro componente.
Ingest DataCon Add. Los registros que se guardan, uno por fila. Conecta aquí la salida de datos de otro componente.
Search QueryCon SQL. La sentencia que se ejecuta, por ejemplo SELECT nombre, email FROM clientes WHERE ciudad = 'Valencia'.
ConexiónQué conectar
EmbeddingOpcional con Add, obligatorio con Retriever. Un modelo de embeddings, por ejemplo OpenAI Embeddings. Con Add, si los registros tienen un campo text, se guarda junto a cada fila una versión de ese texto que permite buscarlo después por significado (la columna toma el tamaño de los vectores del modelo). Con Retriever, convierte la pregunta para buscar en la tabla.

Opciones avanzadas

CampoQué hace
Drop TableCon Add. Borra la tabla, con todo su contenido, y la vuelve a crear antes de guardar los registros nuevos. Por defecto: desactivado.
Number of ResultsCuántos resultados devuelve como máximo la búsqueda de Retriever y la que se pasa en Database Info. Por defecto: 10.
Search Score ThresholdCon Retriever. Si no es 0, descarta los resultados menos parecidos que este valor (de 0 a 1). Por defecto: 0.

Resultado

  • Data: con Add, los registros que se han guardado; con SQL, las filas que devuelve la sentencia, cada una con sus columnas.
  • Retriever: con Retriever, el buscador sobre la tabla, para los componentes que piden uno.
  • Database Info: con DatabaseInfo, la referencia a la base de datos y a la tabla. Conéctala, por ejemplo, a un SQL Agent.

Ejemplo

Asesoría Prado guarda en PostgreSQL las consultas que llegan por su formulario de contacto:

  1. Añade PostgresSQL con la credencial Postgres SQL de la asesoría y deja Operation en Add.
  2. Escribe consultas en Table Name.
  3. Conecta a Ingest Data los datos de la consulta (nombre, email y mensaje), por ejemplo desde JSON to Data.

Cada ejecución añade una fila a la tabla consultas. La primera vez, si la tabla no existe, se crea con las columnas nombre, email y mensaje.

Buenas prácticas

  • Activa Drop Table solo si quieres sustituir todo el contenido de la tabla: borra los datos anteriores sin pedir confirmación.
  • Con SQL el componente puede cambiar o borrar datos y tablas. Si solo vas a consultar, usa una credencial con un usuario de solo lectura; si va a guardar datos, dale permisos únicamente sobre las tablas que necesita.
  • Prueba las sentencias que cambian datos en una copia de la base antes de usarlas en la real.

Componentes relacionados

  • Postgres SQL: la versión más completa de este componente.
  • PGVector: busca por significado en PostgreSQL.
  • SQL Agent: responde preguntas sobre tu base de datos.
  • MySQL: lo mismo para MySQL.