Batch
type: "io.kestra.plugin.jdbc.postgresql.Batch"
Execute a batch query to a PostgresSQL server
# Examples
Fetch rows from a table and bulk insert to another one
tasks:
- id: query
type: io.kestra.plugin.jdbc.postgresql.Query
url: jdbc:postgresql://dev:56982/
username: postgres
password: pg_passwd
sql: |
SELECT *
FROM xref
LIMIT 1500;
store: true
- id: update
type: io.kestra.plugin.jdbc.postgresql.Batch
from: "{{ outputs.query.uri }}"
url: jdbc:postgresql://prod:56982/
username: postgres
password: pg_passwd
sql: |
insert into xref values( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )
# Properties
# chunk
- Type: integer
- Dynamic: ✔️
- Required: ✔️
The size of chunk for every bulk request
# columns
- Type: array
- SubType: string
- Dynamic: ✔️
- Required: ❌
The columns to be insert
If not provided, ?
count need to match the from
number of cols
# from
- Type: string
- Dynamic: ✔️
- Required: ✔️
Source file URI
# password
- Type: string
- Dynamic: ✔️
- Required: ❌
The database user's password
# sql
- Type: string
- Dynamic: ✔️
- Required: ✔️
Insert query to be executed
The query must have as much question mark as column in the files.
Example: 'insert into database values( ? , ? , ? )' for 3 columns
In case you do not want all columns, you need to precise it in the query and in the columns property
Example: 'insert into(id,name) database values( ? , ? )' to select 2 columns
# ssl
- Type: boolean
- Dynamic: ❌
- Required: ❌
- Default:
false
Is the connection ssl
# sslCert
- Type: string
- Dynamic: ✔️
- Required: ❌
The ssl cert
Must be a PEM encoded certificate
# sslKey
- Type: string
- Dynamic: ✔️
- Required: ❌
The ssl key
Must be a PEM encoded key
# sslKeyPassword
- Type: string
- Dynamic: ✔️
- Required: ❌
The ssl key password
# sslMode
Type: string
Dynamic: ❌
Required: ❌
Possible Values:
DISABLE
ALLOW
PREFER
REQUIRE
VERIFY_CA
VERIFY_FULL
The ssl mode
# sslRootCert
- Type: string
- Dynamic: ✔️
- Required: ❌
The ssl root cert
Must be a PEM encoded certificate
# timeZoneId
- Type: string
- Dynamic: ❌
- Required: ❌
The time zone id to use for date/time manipulation. Default value is the worker default zone id.
# url
- Type: string
- Dynamic: ✔️
- Required: ✔️
The jdbc url to connect to the database
# username
- Type: string
- Dynamic: ✔️
- Required: ❌
The database user
# Outputs
# rowCount
- Type: integer
The rows count
# updatedCount
- Type: integer
The updated rows count