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.