pub struct PostgresWriterConfig {Show 16 fields
pub cdc_op_column: String,
pub cdc_ts_column: String,
pub max_buffer_size_bytes: u64,
pub max_records_in_buffer: Option<u64>,
pub mode: PostgresWriteMode,
pub on_conflict_do_nothing: Option<bool>,
pub ssl_ca_location: Option<String>,
pub ssl_ca_pem: Option<String>,
pub ssl_certificate_chain_location: Option<String>,
pub ssl_client_key: Option<String>,
pub ssl_client_key_location: Option<String>,
pub ssl_client_location: Option<String>,
pub ssl_client_pem: Option<String>,
pub table: String,
pub uri: String,
pub verify_hostname: Option<bool>,
}Expand description
Postgres output connector configuration.
JSON schema
{
"description": "Postgres output connector configuration.",
"type": "object",
"required": [
"table",
"uri"
],
"properties": {
"cdc_op_column": {
"description": "Name of the operation metadata column in CDC mode.\n\nOnly used when `mode = \"cdc\"`. This column will contain:\n- `\"i\"` for insert operations\n- `\"u\"` for upsert operations\n- `\"d\"` for delete operations\n\nDefault: `\"__feldera_op\"`",
"default": "__feldera_op",
"type": "string"
},
"cdc_ts_column": {
"description": "Name of the timestamp metadata column in CDC mode.\n\nOnly used when `mode = \"cdc\"`. This column will contain the timestamp\n(in RFC 3339 format) when the batch of updates was output\nby the pipeline.\n\nDefault: `\"__feldera_ts\"`",
"default": "__feldera_ts",
"type": "string"
},
"max_buffer_size_bytes": {
"description": "The maximum buffer size in for a single operation.\nNote that the buffers of `INSERT`, `UPDATE` and `DELETE` queries are\nseparate.\nDefault: 1 MiB",
"default": 1048576,
"type": "integer",
"minimum": 0.0
},
"max_records_in_buffer": {
"description": "The maximum number of records in a single buffer.",
"type": [
"integer",
"null"
],
"minimum": 0.0
},
"mode": {
"default": "materialized",
"allOf": [
{
"$ref": "#/components/schemas/PostgresWriteMode"
}
]
},
"on_conflict_do_nothing": {
"description": "Specifies how the connector handles conflicts when executing an `INSERT`\ninto a table with a primary key. By default, an existing row with the same\nkey is overwritten. Setting this flag to `true` preserves the existing row\nand ignores the new insert.\n\nThis setting does not affect `UPDATE` statements, which always replace the\nvalue associated with the key.\n\nThis setting is not supported when `mode = \"cdc\"`, since all operations\nare performed as append-only `INSERT`s into the target table.\nAny conflict in CDC mode will result in an error.\n\nDefault: `false`",
"type": "boolean"
},
"ssl_ca_location": {
"description": "Path to a file containing a sequence of CA certificates in PEM format.",
"type": [
"string",
"null"
]
},
"ssl_ca_pem": {
"description": "A sequence of CA certificates in PEM format.",
"type": [
"string",
"null"
]
},
"ssl_certificate_chain_location": {
"description": "The path to the certificate chain file.\nThe file must contain a sequence of PEM-formatted certificates,\nthe first being the leaf certificate, and the remainder forming\nthe chain of certificates up to and including the trusted root certificate.",
"type": [
"string",
"null"
]
},
"ssl_client_key": {
"description": "The client certificate key in PEM format.",
"type": [
"string",
"null"
]
},
"ssl_client_key_location": {
"description": "Path to the client certificate key.",
"type": [
"string",
"null"
]
},
"ssl_client_location": {
"description": "Path to the client certificate.",
"type": [
"string",
"null"
]
},
"ssl_client_pem": {
"description": "The client certificate in PEM format.",
"type": [
"string",
"null"
]
},
"table": {
"description": "The table to write the output to.",
"type": "string"
},
"uri": {
"description": "Postgres URI.\nSee: <https://docs.rs/tokio-postgres/0.7.12/tokio_postgres/config/struct.Config.html>",
"type": "string"
},
"verify_hostname": {
"description": "True to enable hostname verification when using TLS. True by default.",
"type": [
"boolean",
"null"
]
}
}
}Fields§
§cdc_op_column: StringName of the operation metadata column in CDC mode.
Only used when mode = "cdc". This column will contain:
"i"for insert operations"u"for upsert operations"d"for delete operations
Default: "__feldera_op"
cdc_ts_column: StringName of the timestamp metadata column in CDC mode.
Only used when mode = "cdc". This column will contain the timestamp
(in RFC 3339 format) when the batch of updates was output
by the pipeline.
Default: "__feldera_ts"
max_buffer_size_bytes: u64The maximum buffer size in for a single operation.
Note that the buffers of INSERT, UPDATE and DELETE queries are
separate.
Default: 1 MiB
max_records_in_buffer: Option<u64>The maximum number of records in a single buffer.
mode: PostgresWriteMode§on_conflict_do_nothing: Option<bool>Specifies how the connector handles conflicts when executing an INSERT
into a table with a primary key. By default, an existing row with the same
key is overwritten. Setting this flag to true preserves the existing row
and ignores the new insert.
This setting does not affect UPDATE statements, which always replace the
value associated with the key.
This setting is not supported when mode = "cdc", since all operations
are performed as append-only INSERTs into the target table.
Any conflict in CDC mode will result in an error.
Default: false
ssl_ca_location: Option<String>Path to a file containing a sequence of CA certificates in PEM format.
ssl_ca_pem: Option<String>A sequence of CA certificates in PEM format.
ssl_certificate_chain_location: Option<String>The path to the certificate chain file. The file must contain a sequence of PEM-formatted certificates, the first being the leaf certificate, and the remainder forming the chain of certificates up to and including the trusted root certificate.
ssl_client_key: Option<String>The client certificate key in PEM format.
ssl_client_key_location: Option<String>Path to the client certificate key.
ssl_client_location: Option<String>Path to the client certificate.
ssl_client_pem: Option<String>The client certificate in PEM format.
table: StringThe table to write the output to.
uri: String§verify_hostname: Option<bool>True to enable hostname verification when using TLS. True by default.
Implementations§
Source§impl PostgresWriterConfig
impl PostgresWriterConfig
pub fn builder() -> PostgresWriterConfig
Trait Implementations§
Source§impl Clone for PostgresWriterConfig
impl Clone for PostgresWriterConfig
Source§fn clone(&self) -> PostgresWriterConfig
fn clone(&self) -> PostgresWriterConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more