B.4. Resource Management #

The parameters below control Postgres Pro AXE server resource usage.

Since each session initializes its own pgpro_axe instance, these parameters are per-session. It is recommended to specify lower values for certain parameters when multiple sessions share the same server resources.

duckdb.max_memory / duckdb.memory_limit (integer) #

The maximum server memory that pgpro_axe can use to process a single analytical query, in megabytes. For example: 4096 (4 GB), 8192 (8 GB), or 1024 (1 GB). When set to zero, 80% of server memory is used.

Default value: 4096 (4 GB).

Access: Superuser only.

duckdb.threads / duckdb.worker_threads (integer) #

The maximum number of threads that pgpro_axe can use to process a single analytical query.

Default value: -1 — the value is equal to the number of CPU cores.

Access: Superuser only.

duckdb.max_workers_per_postgres_scan (integer) #

The maximum number of Postgres Pro workers that can be used for a single Postgres Pro scan. This parameter is analogous to max_parallel_workers_per_gather.

You can configure the number of pgpro_axe threads that synchronize with these workers using the duckdb.threads_for_postgres_scan configuration parameter.

Default value: 2.

Access: All roles.

duckdb.threads_for_postgres_scan (integer) #

The maximum number of pgpro_axe threads that can synchronize with Postgres Pro workers for a single Postgres Pro scan.

You can configure the number of Postgres Pro workers using the duckdb.max_workers_per_postgres_scan configuration parameter.

Default value: 2.

Access: All roles.