All Variables
Complete list of session variables available via SET and SHOW.
General
| Variable | Default | Description |
|---|---|---|
search_path | "$user", public | Schema search order for unqualified names |
timezone | Etc/UTC | Time zone for displaying and interpreting timestamps |
session_timezone | (empty) | User-provided session timezone name (e.g., America/Los_Angeles) |
adjust_timestamp_to_session_timezone | false | Adjust timezone-less timestamp conversions to the session timezone |
datestyle | ISO, MDY | Display format for date and time values |
intervalstyle | postgres | Display format for interval values |
client_encoding | UTF8 | Client character set encoding |
server_encoding | UTF8 | Server character set encoding (read-only) |
server_version | 18.1 | Server version (read-only) |
application_name | (empty) | Application name reported in logs |
standard_conforming_strings | on | Causes '...' strings to treat backslashes literally |
Transactions
| Variable | Default | Description |
|---|---|---|
default_transaction_isolation | repeatable read | Isolation level for new transactions |
transaction_isolation | repeatable read | Current transaction's isolation level |
default_transaction_read_only | off | Default read-only status of new transactions |
SereneDB-Specific
| Variable | Default | Description |
|---|---|---|
sdb_write_conflict_policy | emit_error | Write conflict policy: emit_error, do_nothing (skip conflicted rows), or replace |
sdb_read_your_own_writes | true | Whether queries see uncommitted writes from the current transaction |
Query Execution
| Variable | Default | Description |
|---|---|---|
execution_threads | 0 | Number of threads for query execution. 0 means serial execution in the connection thread |
join_order_algorithm | cost | Join ordering algorithm: cost (default), greedy, or syntactic |
query_max_memory_per_node | 0B | Maximum memory per query per host. 0 means unlimited |
task_writer_count | 4 | Number of parallel table writer operators per task |
task_partitioned_writer_count | 4 | Number of parallel table writer operators for partitioned writes |
min_table_rows_for_parallel_join_build | 1000 | Minimum table rows to trigger parallel hash join build |
Numeric Formatting
| Variable | Default | Description |
|---|---|---|
extra_float_digits | 1 | Number of extra digits displayed for floating-point values |
bytea_output | hex | Output format for bytea: hex or escape |
integer_datetimes | on | Whether datetimes are integer-based (read-only) |
Expression Evaluation
| Variable | Default | Description |
|---|---|---|
expression.eval_simplified | false | Use the simplified expression evaluation path |
expression.track_cpu_usage | false | Track CPU usage for individual expressions. Can be expensive for small batches |
expression.max_array_size_in_reduce | 100000 | Maximum array size allowed in reduce() |
expression.max_compiled_regexes | 100 | Maximum compiled regex patterns per function instance per thread |
track_operator_cpu_usage | true | Track CPU usage for individual operator stages |
legacy_cast | false | Use legacy CAST operator behavior |
cast_match_struct_by_name | false | Match struct fields by name instead of position during CAST |
adaptive_filter_reordering_enabled | true | Reorder conjunction inputs based on evaluation time |
hash_adaptivity_enabled | true | Allow adaptive hash mode in GROUP BY |
enable_expression_evaluation_cache | true | Enable caches in expression evaluation for performance |
Spilling
Controls for spilling data to disk when memory is exceeded.
| Variable | Default | Description |
|---|---|---|
spill_enabled | false | Global spilling flag |
aggregation_spill_enabled | true | Aggregation spilling (requires spill_enabled) |
join_spill_enabled | true | Join spilling (requires spill_enabled) |
order_by_spill_enabled | true | ORDER BY spilling (requires spill_enabled) |
window_spill_enabled | true | Window function spilling (requires spill_enabled) |
writer_spill_enabled | true | Table writer spilling (requires spill_enabled) |
row_number_spill_enabled | true | ROW_NUMBER spilling (requires spill_enabled) |
topn_row_number_spill_enabled | true | Top-N ROW_NUMBER spilling (requires spill_enabled) |
local_merge_spill_enabled | false | Local merge spilling (requires spill_enabled) |
max_spill_run_rows | 12582912 | Max rows per spill run (~128 MB). 0 means no limit |
max_spill_bytes | 107374182400 | Max total spill bytes per query (default 100 GB). 0 means no limit |
max_spill_level | 1 | Max recursive spill levels. -1 means no limit |
max_spill_file_size | 0 | Max spill file size. 0 means no limit |
spill_compression_codec | none | Compression codec for spilled data |
spill_write_buffer_size | 1048576 | Spill write buffer size in bytes |
spill_read_buffer_size | 1048576 | Spill read buffer size in bytes |
Batch Sizing
| Variable | Default | Description |
|---|---|---|
preferred_output_batch_bytes | 10485760 | Preferred output batch size in bytes |
preferred_output_batch_rows | 1024 | Preferred output batch row count (used when row size is unknown) |
max_output_batch_rows | 10000 | Maximum output batch row count |
max_output_buffer_size | 33554432 | Maximum task output buffer size in bytes |
table_scan_getoutput_time_limit_ms | 5000 | Table scan time limit per getOutput() call in ms. 0 means no limit |
Exchange & Partitioning
| Variable | Default | Description |
|---|---|---|
max_local_exchange_buffer_size | 33554432 | Max local exchange buffer size before backpressure |
max_local_exchange_partition_count | 4294967295 | Max local exchange partitions |
exchange.max_buffer_size | 33554432 | Max ExchangeQueue buffer size in bytes |
merge_exchange.max_buffer_size | 134217728 | Max merge exchange buffer size in bytes |
max_page_partitioning_buffer_size | 33554432 | Max PartitionedOutput buffer size in bytes |
Aggregation
| Variable | Default | Description |
|---|---|---|
max_partial_aggregation_memory | 16777216 | Max memory for partial aggregation |
max_extended_partial_aggregation_memory | 67108864 | Max extended memory for partial aggregation |
abandon_partial_aggregation_min_rows | 100000 | Min rows before abandoning partial aggregation |
abandon_partial_aggregation_min_pct | 80 | Min reduction percentage before abandoning partial aggregation |
Query Tracing
| Variable | Default | Description |
|---|---|---|
query_trace_enabled | false | Enable query tracing |
query_trace_dir | (empty) | Directory for query trace data |
query_trace_node_id | (empty) | Plan node ID to trace |
query_trace_max_bytes | 0 | Max trace bytes. 0 disables tracing |
Debug
These settings are for debugging only and may impact performance.
| Variable | Default | Description |
|---|---|---|
debug.validate_output_from_operators | false | Validate output vectors of every operator |
debug_disable_expression_with_peeling | false | Disable dictionary peeling optimization |
debug_disable_common_sub_expressions | false | Disable common sub-expression caching |
debug_disable_expression_with_memoization | false | Disable expression memoization |
debug_disable_expression_with_lazy_inputs | false | Disable lazy input loading |