Saltar al contenido principal
Roberty Studio
RPADatabase

PostgreSQL

PostgreSQL

El módulo PostgreSQL es responsable de conectarse a un SGBD PostgreSQL, realizar consultas y manipular los resultados dentro del robot.

Métodos​

connection​

Método responsable de crear una conexión con una base de datos PostgreSQL.

js
const connection = await Database.PostgreSQL.connection["v1_0_0"]({
connectionString: `postgres://userRoberty:robertyBD123@localhost:5432/robertyBD`,
connectTimeout: 10,
queryTimeout: 60,
})

Parámetros obligatorios​

  • connectionString: String - espera un string con los parámetros de la conexión. Se debe seguir el estándar conforme al ejemplo mostrado anteriormente.

Parámetros opcionales​

  • connectTimeout: Number - tiempo máximo, en segundos, para que el servidor acepte la conexión.
  • queryTimeout: Number - tiempo límite predeterminado, en segundos, de toda consulta realizada con esta conexión. 0 = sin límite.

Retorno​

Devuelve la conexión abierta, que debe almacenarse en una variable (como connection en el ejemplo) e indicarse en el parámetro connection de los demás métodos.

La versión v2_0_0 de este método recibe, en lugar de la connectionString, el connectionId de una conexión configurada en el workspace (Workspace → Conexiones), además de los mismos connectTimeout y queryTimeout:

js
const connection = await Database.PostgreSQL.connection["v2_0_0"]({
connectionId: "id-de-la-conexion-configurada-en-el-workspace",
connectTimeout: 10,
queryTimeout: 60,
})

close​

Método responsable de cerrar una conexión abierta con una base de datos PostgreSQL.

js
await Database.PostgreSQL.close["v1_0_0"]({
connection: connection,
})

Parámetros obligatorios​

  • connection: Retorno de la acción de conexión - espera la conexión obtenida a través de la acción connection.

Parámetros opcionales​

Esta acción no tiene parámetros opcionales.

Retorno​

Esta acción no tiene retornos.

transactionBegin​

Método responsable de crear una transacción con el SGBD PostgreSQL.

js
await Database.PostgreSQL.transactionBegin["v1_0_0"]({
connection: connection,
})

Parámetros obligatorios​

  • connection: Retorno de la acción de conexión - espera la conexión obtenida a través de la acción connection.

Parámetros opcionales​

Esta acción no tiene parámetros opcionales.

Retorno​

Esta acción no tiene retornos.

transactionCommit​

Método responsable de aplicar (confirmar) una transacción abierta por la acción transactionBegin.

js
await Database.PostgreSQL.transactionCommit["v1_0_0"]({
connection: connection,
})

Parámetros obligatorios​

  • connection: Retorno de la acción de conexión - espera la conexión obtenida a través de la acción connection.

Parámetros opcionales​

Esta acción no tiene parámetros opcionales.

Retorno​

Esta acción no tiene retornos.

transactionRollback​

Método responsable de deshacer una transacción (rollback) abierta por la acción transactionBegin.

js
await Database.PostgreSQL.transactionRollback["v1_0_0"]({
connection: connection,
})

Parámetros obligatorios​

  • connection: Retorno de la acción de conexión - espera la conexión obtenida a través de la acción connection.

Parámetros opcionales​

Esta acción no tiene parámetros opcionales.

Retorno​

Esta acción no tiene retornos.

query​

Método responsable de realizar una consulta directamente en la base de datos a través de la conexión obtenida por la acción connection.

js
const query = await Database.PostgreSQL.query["v1_0_0"]({
query: `SELECT * FROM tabela;`,
connection: connection,
timeout: 120
})

Parámetros obligatorios​

  • connection: Retorno de la acción de conexión - espera la conexión obtenida a través de la acción connection.
  • query: String - espera un string con la consulta que será realizada.

Parámetros opcionales​

  • timeout: Number - tiempo límite, en segundos, de esta consulta. Si se omite, se aplica el queryTimeout de la conexión. 0 = sin límite. Al alcanzar el límite, la promesa se rechaza con un error cuyo mensaje comienza con Timeout. Cuando no se indican ni timeout ni el queryTimeout de la conexión, el límite es de 120 segundos; en ese caso, y siempre que la conexión se abrió sin connectTimeout ni queryTimeout, el robot deja de esperar, pero la consulta no se cancela en el servidor.

Retorno​

La constante o variable creada, como la query del ejemplo mostrado anteriormente, recibirá un valor del tipo Object. El objeto devuelto tendrá las siguientes propiedades:

  • query.query: String - devuelve la consulta que fue utilizada.
  • query.results: Array - devuelve todos los resultados obtenidos con la consulta.
  • query.resultsCount: Number - devuelve la cantidad de filas obtenidas en el resultado.