Skip to main content

Configuration

Main parameters

All the GUC parameters require the postmaster restart.

orioledb.main_buffers

Default64 MB

the size of shared memory, where hot data pages of OrioleDB tables are cached. This parameter is analog of the built-in shared_buffers GUC parameter. A good starting point for this parameter if only OrioleDB tables are used is 1/4 of RAM and setting shared_buffers to default value 128 MB. If OrioleDB and heap tables are used equally, then 1/8 of RAM for this parameter and 1/8 of RAM for shared_buffers.

orioledb.undo_buffers

Default1 MB

The shared memory ring buffer size for older versions of rows and pages.

orioledb.recovery_pool_size

Default3

The number of recovery workers row-level WAL based recovery. We recommend increasing the value of this parameter for systems with a large number of CPU cores.

orioledb.recovery_idx_pool_size

Default3

The number of recovery index build workers. We recommend increasing the value of this parameter for the systems with a large number of CPU cores.

orioledb.recovery_parallel_indices_rebuild_limit

Default3

Sets the maximum number of indices that could be rebuilt in parallel in recovery.

orioledb.recovery_queue_size

Default8 MB

The size of shared memory for message queues related to recovery workers.

orioledb.checkpoint_completion_ratio

Default0.5

The fraction of OrioleDB tables checkpoint time within the whole checkpoint time. We recommend setting this value to 1.0 if only OrioleDB tables are used.

Advanced config options

orioledb.free_tree_buffers

Default8 MB

Shared memory size for metadata of block allocators for compressed tables. We recommend increasing the value of this parameter to work with large compressed tables.

orioledb.catalog_buffers

Default8 MB

Shared memory size of table metadata. We recommend increasing the value of this parameter to work with a large number of tables.

orioledb.undo_system_buffers

Default1 MB

The shared memory ring buffer size for older versions of rows and pages in system tables. We recommend increasing the value of this parameter for DDL-intensive workloads.

orioledb.bgwriter_num_workers

Default1

The number of background writer processes, which flushes dirty pages of OrioleDB tables in the background. We recommend setting values greater than 1 for systems with a large number of CPU cores.

orioledb.max_io_concurrency

Default0 (off)

Maximum number of concurrent IO operations issued by OrioleDB in parallel. We recommend setting this parameter when the OS kernel becomes a bottleneck for high concurrent IO.

orioledb.device_filename

DefaultNot set

Path to the block device for block device mode.

orioledb.device_length

Default1 GB

The length of the block device.

orioledb.use_mmap

Defaultoff

Specify whether to use mmap to work with the block device. We recommend setting on value for NVRAM.

orioledb.default_compress

Default-1 (no compression)

Default block-level compression level for all tables' data structures.

orioledb.primary_compress

Default-1 (no compression)

Default block-level compression level for all tables' primary keys.

orioledb.toast_compress

Default-1 (no compression)

Default block-level compression level for all tables' TOASTed values.

orioledb.table_description_compress

Defaultoff

Display compression column in orioledb_table_description.

Debugging options

orioledb.debug_disable_pools_limit

Defaultoff

Disable minimal limit for orioledb.main_buffers, orioledb.free_tree_buffers, orioledb.catalog_buffers for debug.

orioledb.enable_stopevents

Defaultoff

Enable stop events.

orioledb.trace_stopevents

Defaultoff

Trace all the stop events to the system log.

orioledb.debug_disable_bgwriter

Defaultoff

Disable bgwriter for debug.

orioledb.debug_checkpoint_timeout

Defaultcheckpoint_timeout

Sets the maximum time between automatic WAL checkpoints. Setting this value to a lower value than checkpoint_timeout can make OrioleDB checkpoints more often for testing.

orioledb.remove_old_checkpoint_files

Defaulton

Remove temporary *.tmp and *.map files after checkpoint.

orioledb.skip_unmodified_trees

Defaulton

Skip reading of unmodified trees during checkpointing.