ConnectorTypeSQLPG
class connector_types.connector_type_sqlpg.ConnectorTypeSQLPG
Interact with a PostgreSQL database. This connector type supports the execute,
fetch, fetchrow, and fetchval commands. Each command expects an
SQL query and returns the status, list, record or field value respectively.
Consult the PostgreSQL SQL language documentation at https://www.postgresql.org/docs/12/tutorial-sql.html for more information.
Input Schema
-
hostType:
string -
portType:
anyOfOptions: -
userType:
stringDefault:
postgres -
passwordType:
anyOfOptions: -
server_caType:
anyOfOptions: -
check_hostnameIf set, the hostname of the PostgreSQL server is checked against the server_ca certificate
Type:
booleanDefault:
True -
client_certType:
anyOfOptions: -
client_keyType:
anyOfOptions: -
databaseThe database to use.
Type:
stringDefault:
pg_catalog -
executeExecute a query.
Type:
anyOfOptions: -
executemanyExecute a query with many rows.
Type:
anyOfOptions: -
transactionExecute several queries in a transaction.
Type:
anyOfOptions: -
fetchExecute a query and fetch all rows.
Type:
anyOfOptions: -
fetchrowExecute a query and fetch the first row.
Type:
anyOfOptions: -
fetchvalExecute a query and fetch the first column of the first row.
Type:
anyOfOptions: -
paramsBind parameters for the query.
Type:
arrayItems:
Output Schema
-
resultData
Constants
ssl_context_inputs = ['check_hostname', 'client_cert', 'client_key', 'server_ca']Example
import flow_api
def handler(system: flow_api.System, this: flow_api.Execution, inputs: dict):
postgres_server_version = this.connect(
connector_type='SQLPG',
host='my-postgres-server',
fetchval='SELECT version()',
).get('output_value')['result']
this.log(postgres_server_version=postgres_server_version)
postgres_server_events = this.connect(
connector_type='SQLPG',
host='my-postgres-server',
database='testlocal',
execute='CREATE TABLE IF NOT EXISTS mytab (a int, b int);',
).get('output_value')['result']
this.log(postgres_server_events=postgres_server_events)
postgres_server_events = this.connect(
connector_type='SQLPG',
host='my-postgres-server',
database='testlocal',
transaction=[{'execute': 'INSERT INTO mytab (a, b) VALUES ($1, $2);', 'params': [1,2]},
{'execute': 'INSERT INTO mytab (a, b) VALUES ($1, $2);', 'params': [3,4]},
{'execute': 'INSERT INTO mytab (a, b) VALUES ($1, $2);', 'params': [5,6]},
],
).get('output_value')['result']
this.log(postgres_server_events=postgres_server_events)
postgres_server_events = this.connect(
connector_type='SQLPG',
host='my-postgres-server',
database='testlocal',
executemany=['INSERT INTO mytab (a, b) VALUES ($1, $2);',
[(1,2), (3,4), (6,7)]],
).get('output_value')['result']
this.log(postgres_server_events=postgres_server_events)
return this.success('all done')