#
# PostgreSQL configuration file
# -----------------------------
#
# This file consists of lines of the form
#
#   name = value
#
# (The `=' is optional.) White space is collapsed, comments are
# introduced by `#' anywhere on a line. The complete list of option
# names and allowed values can be found in the PostgreSQL
# documentation. Examples are:

#log_connections = on
#fsync = off
#max_connections = 64

# Any option can also be given as a command line switch to the
# postmaster, e.g., 'postmaster -c log_connections=on'. Some options
# can be set at run-time with the 'SET' SQL command.


#========================================================================


#
#	Connection Parameters
#
tcpip_socket = true
#ssl = false

max_connections = 64 # 1-1024

#port = 5432 
#hostname_lookup = false
#show_source_port = false

#unix_socket_directory = ''
#unix_socket_group = ''
#unix_socket_permissions = 0777

#virtual_host = ''

#krb_server_keyfile = ''


#
#	Performance
#
sort_mem = 1024
shared_buffers = 2048 #2*max_connections # min 16
#fsync = true


#
#	Optimizer Parameters
#
enable_seqscan = false
enable_indexscan = false
enable_tidscan = false
enable_sort = false
enable_nestloop = false
enable_mergejoin = false
enable_hashjoin = false

ksqo = false
geqo = true

effective_cache_size = 6000  # default in 8k pages
random_page_cost = 2
cpu_tuple_cost = 0.05
cpu_index_tuple_cost = 0.005
cpu_operator_cost = 0.0025
geqo_selection_bias = 1.5 # range 1.5-2.0
geqo_effort = 50.0
geqo_pool_size = 256
geqo_generations = 0
geqo_random_seed = 1

#
#	GEQO Optimizer Parameters
#
geqo_threshold = 17
geqo_pool_size = 0  #default based in tables, range 128-1024
geqo_effort = 1
geqo_generations = 0
geqo_random_seed = -1 # auto-compute seed


#
#	Inheritance
#
#sql_inheritance = true


#
#	Deadlock
#
#deadlock_timeout = 1000


#
#	Expression Depth Limitation
#
#max_expr_depth = 10000 # min 10


#
#	Write-ahead log (WAL)
#
wal_buffers = 8 # min 4
wal_files = 0 # range 0-64
wal_sync_method = fsync # fsync or fdatasync or open_sync or open_datasync
# Note: default wal_sync_method varies across platforms
wal_debug = 0 # range 0-16
commit_delay = 0 # range 0-100000
commit_siblings = 5 # range 1-1000
checkpoint_segments = 3 # in logfile segments (16MB each), min 1
checkpoint_timeout = 300 # in seconds, range 30-3600


#
#	Debug display
#
#silent_mode = false

log_connections = true
log_timestamp = true
log_pid = true

debug_level = 2 # range 0-16

#debug_print_query = false
#debug_print_parse = false
#debug_print_rewritten = false
#debug_print_plan = false
#debug_pretty_print = false

#ifdef USE_ASSERT_CHECKING
#debug_assertions = true
#endif


#
#	Syslog
#
#ifdef ENABLE_SYSLOG
syslog = 1 # range 0-2
syslog_facility = 'LOCAL0'
syslog_ident = 'postgres'
#endif

#
#	Statistics
#
#show_parser_stats = false
#show_planner_stats = false
#show_executor_stats = false
#show_query_stats = false
#ifdef BTREE_BUILD_STATS
#show_btree_build_stats = false
#endif


#
#	Lock Tracing
#
#trace_notify = false
#ifdef LOCK_DEBUG
#trace_locks = false
#trace_userlocks = false
#trace_spinlocks = false
#debug_deadlocks = false
#trace_lock_oidmin = 16384
#trace_lock_table = 0
#endif
