TaskSQLPG
class tasks.task_sqlpg.TaskSQLPG
Interact with a PostgreSQL database. This task 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.
Inputs
Name | Type | Default | Description |
---|---|---|---|
client_cert | str | None | |
client_key | str | None | |
database | str | pg_catalog | |
execute | str | None | |
executemany | list | None | |
fetch | str | None | |
fetchrow | str | None | |
fetchval | str | None | |
host | str | ||
ip_priv | str | None | |
params | list | None | |
password | str | None | |
port | int | 5432 | |
server_ca | str | None | |
temp_path | str | /tmp | |
transaction | list | None | |
user | str | postgres |
Outputs
Name | Type | Default | Description |
---|---|---|---|
result | object | ||
execution_id | int | The ID of the task execution | |
message | str | The ended message for the task. If the task ended with an error, the message will contain information about what went wrong | |
status | str | The ended status for the task. Either "success" or "error". |
Constants
input_list = ['client_cert', 'client_key', 'database', 'execute', 'executemany', 'fetch', 'fetchrow', 'fetchval', 'host', 'ip_priv', 'params', 'password', 'port', 'server_ca', 'temp_path', 'transaction', 'user']output_list = ['result']version = 1Methods
run ()
Example
import flow_apidef handler(system: flow_api.System, this: flow_api.Execution):postgres_server_version = this.task('SQLPG',host='my-postgres-server',fetchval='SELECT version()',).get('output_value')['result']this.log(postgres_server_version=postgres_server_version)postgres_server_events = this.task('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.task('SQLPG',host='my-postgres-server',database='testlocal',transaction=[['INSERT INTO mytab (a, b) VALUES ($1, $2);', (1,2)],['INSERT INTO mytab (a, b) VALUES ($1, $2);', (3,4)],['INSERT INTO mytab (a, b) VALUES ($1, $2);', (6,7)]],).get('output_value')['result']this.log(postgres_server_events=postgres_server_events)postgres_server_events = this.task('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')