Configurable parameters

This section details all Postgres GUC variables that you can control for your pg_mooncake deployment.

1. Default Bucket

If this parameter is not set, columnstore tables will be written locally. All columnstore tables will be written to the same bucket. First, set up access to your cloud storage.

ALTER DATABASE <database_name> SET mooncake.default_bucket = 'default';

2. Memory allocated to DuckDB (v0.1.1+)

ALTER DATABASE <database_name> SET mooncake.maximum_memory = '6GB';

By default, this is set to 4GB.

3. Number of threads that DuckDB can use. (v0.1.1+)

ALTER DATABASE <database_name> SET mooncake.maximum_threads = -1;

By default (-1), this is set the number of system threads.

4. Local cache for columnstore tables.

By default, we cache data on writes. Note: turning this may result in performance degradation for analytics on recently written and updated data.

ALTER DATABASE <database_name> SET mooncake.enable_local_cache = false;

5. Memory cache for Parquet metadata.

By default, we cache parquet metadata on reads. Note: turning this may result in performance degradation, though the impact is minimal.

ALTER DATABASE <database_name> SET mooncake.enable_memory_metadata_cache = false;