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.
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:
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.
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.
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.
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.
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.
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 elqueryTimeoutde la conexión.0= sin límite. Al alcanzar el límite, la promesa se rechaza con un error cuyo mensaje comienza conTimeout. Cuando no se indican nitimeoutni elqueryTimeoutde la conexión, el límite es de120segundos; en ese caso, y siempre que la conexión se abrió sinconnectTimeoutniqueryTimeout, 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.