B.1. Query Execution #

The parameters below control how pgpro_axe executes standard and analytical queries.

duckdb.force_execution (boolean) #

Specifies whether pgpro_axe is used to execute queries even when only heap tables are accessed. When set to false, pgpro_axe is used only if a DuckDB-only feature is used in a query.

DuckDB-only features include reading from analytical tables, executing pgpro_axe stored procedures (e.g., read_parquet), and executing the COPY command to write to an S3 or NFS storage.

Default value: false.

Access: All roles.

axe.use_postgres_snapshot (boolean) #

Specifies whether Postgres Pro AXE uses Postgres Pro snapshots for queries. When set to false, Postgres Pro snapshots are not used, which prevents Postgres Pro AXE from holding the transaction horizon. In this case, queries that work with heap tables fail with an error. For more information, refer to Section 26.4.

Default value: true.

Access: All roles.

duckdb.unsafe_allow_execution_inside_functions (boolean) #

Specifies whether a single Postgres Pro function can access both heap tables and analytical tables.

Important

It is recommended to set this parameter to true. Without it, pgpro_axe stored procedures, such as read_parquet, do not work.

Default value: false.

Access: Superuser only.

duckdb.unsafe_allow_mixed_transactions (boolean) #

Specifies whether data can be modified in both pgpro_axe temporary tables and heap tables within a single transaction.

Important

It is recommended to keep this parameter set to false, as setting it to true may lead to data inconsistency between pgpro_axe temporary tables and heap tables.

Default value: false.

Access: All roles.

axe.unsafe_allow_savepoints (boolean) #

Specifies whether SAVEPOINT commands are allowed when pgpro_axe is used.

pgpro_axe does not support savepoints, so any changes made to analytical tables between SAVEPOINT and ROLLBACK TO SAVEPOINT commands cannot be rolled back. When set to false, Postgres Pro AXE returns an error when a SAVEPOINT command is executed. When set to true, Postgres Pro AXE ignores SAVEPOINT commands instead of returning an error. Postgres Pro still processes SAVEPOINT and ROLLBACK TO SAVEPOINT commands for heap tables, so changes to heap tables are rolled back as expected.

Default value: false.

Access: All roles.

duckdb.convert_unsupported_numeric_to_double (boolean) #

Specifies how pgpro_axe processes NUMERIC values with precision or scale outside the supported range. pgpro_axe supports NUMERIC/DECIMAL values with precision 1-38 and scale 0-38 (where scale ≤ precision). When set to true, unsupported NUMERIC values are converted to DOUBLE with possible precision loss. When set to false, unsupported NUMERIC values cause an error.

Default value: false.

Access: All roles.

duckdb.log_pg_explain (boolean) #

Specifies whether pgpro_axe logs EXPLAIN plans of heap table scans at the NOTICE log level. This is useful for debugging query execution and understanding how pgpro_axe interacts with heap tables.

Default value: false.

Access: All roles.