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 theCOPYcommand 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 asread_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 totruemay 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
SAVEPOINTcommands are allowed when pgpro_axe is used.pgpro_axe does not support savepoints, so any changes made to analytical tables between
SAVEPOINTandROLLBACK TO SAVEPOINTcommands cannot be rolled back. When set tofalse, Postgres Pro AXE returns an error when aSAVEPOINTcommand is executed. When set totrue, Postgres Pro AXE ignoresSAVEPOINTcommands instead of returning an error. Postgres Pro still processesSAVEPOINTandROLLBACK TO SAVEPOINTcommands 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
NUMERICvalues with precision or scale outside the supported range. pgpro_axe supportsNUMERIC/DECIMALvalues with precision 1-38 and scale 0-38 (where scale ≤ precision). When set totrue, unsupportedNUMERICvalues are converted toDOUBLEwith possible precision loss. When set tofalse, unsupportedNUMERICvalues cause an error.Default value:
false.Access: All roles.
duckdb.log_pg_explain(boolean) #Specifies whether pgpro_axe logs
EXPLAINplans of heap table scans at theNOTICElog level. This is useful for debugging query execution and understanding how pgpro_axe interacts with heap tables.Default value:
false.Access: All roles.