23.2. Resource Management #

Since any connection that uses DuckDB has its own DuckDB instance, these parameters are per-connection. When using pgpro_axe in many concurrent connections, it is recommended to specify lower values for certain parameters as compared to their defaults.

duckdb.max_memory / duckdb.memory_limit #

The maximum memory that Postgres Pro can use to process a single query, in megabytes. You can configure this parameter for each session. When set to zero, 80% of RAM is used.

Example 23.4. 

  • 4096 (4GB)

  • 8192 (8GB)

  • 1024 (1GB)


Default value: 4096 (4GB).

Access: Superuser-only.

duckdb.threads / duckdb.worker_threads #

The maximum number of threads (CPU cores) that Postgres Pro can use to process a single query. You can configure this parameter for each session.

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

Access: Superuser-only.

duckdb.max_workers_per_postgres_scan #

The maximum number of Postgres Pro workers used for a single Postgres Pro scan. This parameter is similar to max_parallel_workers_per_gather.

Default value: 2.

Access: All users.

duckdb.threads_for_postgres_scan #

The maximum number of DuckDB threads used for a single Postgres Pro scan. This parameter controls parallelism within DuckDB when scanning Postgres Pro tables.

Default value: 2.

Access: All users.