To use PostgreSQL as Data Accelerator, specify postgres as the engine for acceleration.
The connection to PostgreSQL can be configured by providing the following params:
pg_host: The hostname of the PostgreSQL server.pg_port: The port of the PostgreSQL server.pg_db: The name of the database to connect to.pg_user: The username to connect with.pg_pass: The password to connect with. Use the secret replacement syntax (opens in a new tab) to load the password from a secret store, e.g. ${secrets:my_pg_pass}.pg_sslmode: Optional. Specifies the SSL/TLS behavior for the connection, supported values:
verify-full: (default) This mode requires an SSL connection, a valid root certificate, and the server host name to match the one specified in the certificate.verify-ca: This mode requires a TLS connection and a valid root certificate.require: This mode requires a TLS connection.prefer: This mode will try to establish a secure TLS connection if possible, but will connect insecurely if the server does not support TLS.disable: This mode will not attempt to use a TLS connection, even if the server supports it.pg_sslrootcert: Optional parameter specifying the path to a custom PEM certificate that the connector will trust.pg_connection_pool_min: Optional. The minimum number of connections to keep open in the pool, lazily created when requested. Default is 5.connection_pool_size: Optional. The maximum number of connections created in the connection pool. Default is 10.Configuration params are provided either in the acceleration section of a dataset.
Specify different secrets for a PostgreSQL source and acceleration:
:::warning[Limitations]
Map types.SUM(int_col) into CAST (SUM(int_col) as BIGINT.:::
The table below lists the supported Apache Arrow data types (opens in a new tab) and their mappings to PostgreSQL types (opens in a new tab) when stored
| Arrow Type | sea_query ColumnType | PostgreSQL Type |
|---|---|---|
Int8 | TinyInteger | smallint |
Int16 | SmallInteger | smallint |
Int32 | Integer | integer |
Int64 | BigInteger | bigint |
UInt8 | TinyUnsigned | smallint |
UInt16 | SmallUnsigned | smallint |
UInt32 | Unsigned | bigint |
UInt64 | BigUnsigned | numeric |
Decimal128 / Decimal256 | Decimal | decimal |
Float32 | Float | real |
Float64 | Double | double precision |
Utf8 / LargeUtf8 | Text | text |
Boolean | Boolean | bool |
Binary / LargeBinary | VarBinary | bytea |
FixedSizeBinary | Binary | bytea |
Timestamp (no Timezone) | Timestamp | timestamp without time zone |
Timestamp (with Timezone) | TimestampWithTimeZone | timestamp with time zone |
Date32 / Date64 | Date | date |
Time32 / Time64 | Time | time |
Interval | Interval | interval |
Duration | BigInteger | bigint |
List / LargeList / FixedSizeList | Array | array |
Struct | N/A | Composite (Custom type) |