postgresql.conf.sample 19.4 KB
Newer Older
1
# -----------------------------
2 3 4
# PostgreSQL configuration file
# -----------------------------
#
5
# This file consists of lines of the form:
6 7 8
#
#   name = value
#
9 10 11
# (The "=" is optional.)  Whitespace may be used.  Comments are introduced with
# "#" anywhere on a line.  The complete list of parameter names and allowed
# values can be found in the PostgreSQL documentation.
12
#
13 14 15
# The commented-out settings shown in this file represent the default values.
# Re-commenting a setting is NOT sufficient to revert it to the default value;
# you need to reload the server.
16
#
17 18 19 20 21
# This file is read on server startup and when the server receives a SIGHUP
# signal.  If you edit the file on a running system, you have to SIGHUP the
# server for the changes to take effect, or use "pg_ctl reload".  Some
# parameters, which are marked below, require a server shutdown and restart to
# take effect.
22
#
23 24 25 26 27
# This file is read on server startup and when the server receives a
# SIGHUP.  If you edit the file on a running system, you have to SIGHUP the
# server for the changes to take effect, or use "pg_ctl reload". Some
# settings, which are marked below, require a server shutdown and restart
# to take effect.
28
#
29 30 31 32
# Any parameter can also be given as a command-line option to the server, e.g.,
# "postgres -c log_connections=on".  Some parameters can be changed at run time
# with the "SET" SQL command.
#
33 34
# Memory units:  kB = kilobytes MB = megabytes GB = gigabytes
# Time units:    ms = milliseconds s = seconds min = minutes h = hours d = days
35 36


37
#---------------------------------------------------------------------------
38
# FILE LOCATIONS
39 40
#---------------------------------------------------------------------------

41
# The default values of these variables are driven from the -D command line
42
# switch or PGDATA environment variable, represented here as ConfigDir.
43

44
#data_directory = 'ConfigDir'		# use data in another directory
45
					# (change requires restart)
46
#hba_file = 'ConfigDir/pg_hba.conf'	# host-based authentication file
47 48 49
					# (change requires restart)
#ident_file = 'ConfigDir/pg_ident.conf'	# ident configuration file
					# (change requires restart)
50

51 52 53
# If external_pid_file is not explicitly set, no extra PID file is written.
#external_pid_file = '(none)'		# write an extra PID file
					# (change requires restart)
54 55


56
#------------------------------------------------------------------------------
57
# CONNECTIONS AND AUTHENTICATION
58
#------------------------------------------------------------------------------
59 60

# - Connection Settings -
61

62
#listen_addresses = '*'		# what IP address(es) to listen on;
T
Tom Lane 已提交
63
					# comma-separated list of addresses;
64
					# defaults to '*', '*' = all
65
					# (change requires restart)
66 67 68 69 70 71 72 73 74 75 76 77 78

#port = 5432				# sets the database listener port for 
      					# a Greenplum instance. The master and 
					# each segment has its own port number. 
# note: Port numbers for the Greenplum system must also be changed in the
# gp_configuration catalog. See the Greenplum Database Administrator Guide 
# for instructions!
#
# WARNING: YOU MUST SHUT DOWN YOUR GREENPLUM SYSTEM BEFORE CHANGING 
# THE PORT NUMBER IN THIS FILE.

#max_connections = 200
# note: increasing max_connections costs ~400 bytes of shared memory per
79 80
# connection slot, plus lock space (see max_locks_per_transaction).  You
# might also need to raise shared_buffers to support more connections.
81
#superuser_reserved_connections = 3	# (change requires restart)
82 83
#unix_socket_directory = ''		# (change requires restart)
#unix_socket_group = ''			# (change requires restart)
84
#unix_socket_permissions = 0777		# begin with 0 to use octal notation
85
					# (change requires restart)
86
#bonjour_name = ''			# defaults to the computer name
87
					# (change requires restart)
88

89
# - Security and Authentication -
90

91
#authentication_timeout = 1min		# 1s-600s
92
#ssl = off				# (change requires restart)
93 94
#ssl_ciphers = 'ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH'	# allowed SSL ciphers
					# (change requires restart)
95 96
#password_encryption = on
#db_user_namespace = off
97

98 99 100 101
# Kerberos and GSSAPI
#krb_server_keyfile = ''
#krb_srvname = 'postgres'		# (Kerberos only)
#krb_caseins_users = off
102

103
# - TCP Keepalives -
104
# see "man 7 tcp" for details
105 106 107 108 109 110 111 112

#tcp_keepalives_idle = 0		# TCP_KEEPIDLE, in seconds;
					# 0 selects the system default
#tcp_keepalives_interval = 0		# TCP_KEEPINTVL, in seconds;
					# 0 selects the system default
#tcp_keepalives_count = 0		# TCP_KEEPCNT;
					# 0 selects the system default

113

114
#------------------------------------------------------------------------------
115
# RESOURCE USAGE (except WAL)
116
#------------------------------------------------------------------------------
117 118

# - Memory -
119

120
#shared_buffers = 128MB			# min 128kB or max_connections*16kB
121
					# (change requires restart)
122
#temp_buffers = 8MB			# min 800kB
123
max_prepared_transactions = 250		# can be 0 or more
124 125
					# (change requires restart)
# Note: increasing max_prepared_transactions costs ~600 bytes of shared memory
126
# per transaction slot, plus lock space (see max_locks_per_transaction).
127 128
#work_mem = 32MB			# min 64kB
#maintenance_work_mem = 64MB		# min 1MB
129
#max_stack_depth = 2MB			# min 100kB
130

131
# - Free Space Map -
132

133
#max_fsm_pages = 204800			# min max_fsm_relations*16, 6 bytes each
134
					# (change requires restart)
135
#max_fsm_relations = 1000		# min 100, ~70 bytes each
136
					# (change requires restart)
137

138
# - Kernel Resource Usage -
139

140
#max_files_per_process = 1000		# min 25
141
					# (change requires restart)
142
#shared_preload_libraries = ''		# (change requires restart)
143

144 145
# - Cost-Based Vacuum Delay -

146
#vacuum_cost_delay = 0ms		# 0-100 milliseconds
147 148 149
#vacuum_cost_page_hit = 1		# 0-10000 credits
#vacuum_cost_page_miss = 10		# 0-10000 credits
#vacuum_cost_page_dirty = 20		# 0-10000 credits
150
#vacuum_cost_limit = 200		# 1-10000 credits
151

152
#------------------------------------------------------------------------------
153
# QUERY TUNING
154
#------------------------------------------------------------------------------
155

156
# - Planner Method Configuration -
157

158 159 160 161
#enable_bitmapscan = on
#enable_indexscan = on
#enable_seqscan = on
#enable_tidscan = on
162

163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183
#enable_hashjoin = on
#enable_mergejoin = off
#enable_nestloop = off
#gp_enable_adaptive_nestloop = on

#gp_enable_multiphase_agg = on
#gp_enable_preunique = on
#gp_enable_agg_distinct = on
#gp_enable_agg_distinct_pruning = on
#enable_groupagg = on
#enable_hashagg = on
#gp_selectivity_damping_for_scans = on
#gp_selectivity_damping_for_joins = off


#gp_enable_sequential_window_plans = off

#enable_sort = on
#gp_enable_sort_limit = on
#gp_enable_sort_distinct = on

184
# - Planner Cost Constants -
185

186
#seq_page_cost = 1.0			# measured on an arbitrary scale
187 188
#random_page_cost = 100			# same scale as above

189
#cpu_tuple_cost = 0.01			# same scale as above
190
#cpu_index_tuple_cost = 0.005		# same scale as above
191
#cpu_operator_cost = 0.0025		# same scale as above
192
#gp_motion_cost_per_row = 0.0  # (same) (if 0, 2*cpu_tuple_cost is used)
193

194
#effective_cache_size = 4MB
195

196
# - Other Planner Options -
197 198

#from_collapse_limit = 8
199
#join_collapse_limit = 8		# 1 disables collapsing of explicit
200
					# JOINs
201
#gp_segments_for_planner = 0     # if 0, actual number of segments is used
202

203
#gp_enable_direct_dispatch = on
204

205 206 207
optimizer_analyze_root_partition = on # stats collection on root partitions

#------------------------------------------------------------------------------
208
# ERROR REPORTING AND LOGGING
209
#------------------------------------------------------------------------------
210

211
# - Set gp_reraise_signal to on to generate core files on SIGSEGV
212

213
#gp_reraise_signal = off
214

215
# - Where to Log -
216

217 218 219 220
#log_truncate_on_rotation = off		# If on, an existing log file of the
					# same name as the new log file will be
					# truncated rather than appended to.
					# But such truncation only occurs on
221
					# time-driven rotation, not on restarts
222
					# or size-driven rotation.  Default is
223 224
					# off, meaning append to existing files
					# in all cases.
225 226
#log_rotation_age = 1d			# Automatic rotation of logfiles will
					# happen after that time.  0 disables.
227
#log_rotation_size = 10MB		# Automatic rotation of logfiles will 
228 229
					# happen after that much log output.
					# 0 disables.
230

231
# - When to Log -
232

233
#client_min_messages = notice		# values in order of decreasing detail:
234 235 236 237 238 239 240 241 242 243
					#   debug5
					#   debug4
					#   debug3
					#   debug2
					#   debug1
					#   log
					#   notice
					#   warning
					#   error

244
#log_min_messages = warning		# Values in order of decreasing detail:
245 246 247 248 249 250 251 252 253 254 255 256 257 258 259
					#   debug5
					#   debug4
					#   debug3
					#   debug2
					#   debug1
					#   info
					#   notice
					#   warning
					#   error
					#   log
					#   fatal
					#   panic

#log_error_verbosity = default		# terse, default, or verbose messages

260
#log_min_error_statement = error	# values in order of decreasing detail:
261 262 263 264 265 266 267 268 269
				 	#   debug5
					#   debug4
					#   debug3
					#   debug2
					#   debug1
				 	#   info
					#   notice
					#   warning
					#   error
270
					#   log
271 272
					#   fatal
					#   panic (effectively off)
273

274
#log_min_duration_statement = -1	# -1 is disabled, 0 logs all statements
275 276 277
					# and their durations, > 0 logs only
					# statements running at least this number
					# of milliseconds
B
Bruce Momjian 已提交
278

279

280
# - What to Log -
281

282 283
#debug_print_parse = off
#debug_print_rewritten = off
284 285
#debug_print_prelim_plan = off
#debug_print_slice_table = off
286 287 288 289 290 291
#debug_print_plan = off
#debug_pretty_print = off
#log_connections = off
#log_disconnections = off
#log_duration = off
#log_hostname = off
292

293
#log_statement = 'none'			# none, mod, ddl, all
294
#log_temp_files = -1			# Log temporary files equal or larger
295
					# than the specified number of kilobytes.
296
					# -1 disables;  0 logs all temp files
297 298
#log_timezone = unknown			# actually, defaults to TZ environment
					# setting
299

300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374
#------------------------------------------------------------------------------
# PL/JAVA
#------------------------------------------------------------------------------
#pljava_classpath = ''                      # ':' separated list of installed jar files
#pljava_vmoptions = ''                      # Options sent to the JVM on startup
#pljava_statement_cache_size = 0            # Size of the prepared statement MRU cache
#pljava_release_lingering_savepoints = off  # on/off to release/abort lingering savepoints


#------------------------------------------------------------------------------
# PERFORMANCE MONITOR
#------------------------------------------------------------------------------

#gp_enable_gpperfmon=on		# Enable the performance monitor
#gpperfmon_port=8888		# Port used the the performance monitor daemons

										
#------------------------------------------------------------------------------
# EMAIL ALERTS
#------------------------------------------------------------------------------

# Configure the DNS name of the SMTP server you want to use,
# the port it runs on (which will be either 25 or 587), and
# the SASL authentication information used to connect to it.

#gp_email_smtp_server = 'localhost:25'      # SMTP server hostname and port (don't forget the port!)
#gp_email_smtp_userid = ''					# Userid used to authenticate with SMTP server, if needed
#gp_email_smtp_password = ''				# Password/Passphrase used to authenticate with SMTP server, if needed

# Here you need to specify e-mail addresses.  The email_from address doesn't actually need 
# to be a valid e-mail address, but it is much better if it is, because delivery failure notifications
# go to that address.  The email_to is a list of recipients who will get the alerts.
#
# The e-mail addresses need to be in the form of userid@domain.com, not just userid.
# If email_to list is empty, it disables e-mail alerts.
#
# e-mail addresses can be just the actual e-mail address, userid@domain.com, or can be a
# human readable name with attached e-mail address in the form 'Joe Smith <userid@domain.com>".
# If using the latter format, the e-mail address must be between '<' and '>'.  The first part of
# the string can be any text, and if used for the gp_email_from address, can help differentiate the e-mails
# from different servers (for example:  'my test GPDB system <userid@domain.com>").

#gp_email_from = ''						# Who do we say the e-mails are from?  and who is the return-path?
#gp_email_to = ''						# Semicolon separated list of recipients that will get e-mail alerts.
										# empty means disable e-mail alerts.

#------------------------------------------------------------------------------
# SNMP INFORM/TRAP ALERTS
#------------------------------------------------------------------------------

# Configure the gp_snmp_monitor_address to be the system your SNMP monitor runs on, or a proxy
# that will relay the message to the SNMP monitor.  You can specify transport, DNS name, and port:
# [<transport-specifier>:]<transport-address>[:port]
#
# where <transport-specifier> can be 'udp', 'tcp', 'udpv6', 'tcpv6', or 'unix' for unix domain sockets (optional).
# For udp or tcp, the port is typically 162. 
# For a SNMP monitor running locally, you might use 'localhost:162', but more typically
# the SNMP monitor is running on some other machine.
# You can send to multiple network monitors by using a comma separated list of addresses.
#
# if gp_snmp_peername is empty, snmp alerts are disabled.

#gp_snmp_monitor_address = ''     		# name or IP address(es) (and optionally the port) of the SNMP monitor(s) that will receive the alerts.
#gp_snmp_community = 'public'			# Change to whatever community string you use in your monitor
#gp_snmp_use_inform_or_trap = 'trap'    # Set to 'inform' or 'trap', we will send SNMP v2c inform, or SNMP v2c trap.

#------------------------------------------------------------------------------
# EMC Connect
#------------------------------------------------------------------------------

#gp_connectemc_mode = 'on'				# 'on' will send EMC Connect events and store locally, 
										# 'local' will store events locally, 
										# 'off' will not store or send events

#------------------------------------------------------------------------------
375
# RUNTIME STATISTICS
376 377 378
#------------------------------------------------------------------------------

# - ANALYZE Statistics on Database Contents -
379

380 381 382 383 384
#default_statistics_target = 25		# range 1 - 1000 (target # of
					# histogram bins)
#gp_analyze_relative_error = 0.25	# range 0.0 - 1.0 (target relative
					# error fraction)
					
385
# - Query/Index Statistics Collector -
386

387 388
#track_activities = on
#track_counts = off
389 390
#update_process_title = on

391
#stats_queue_level = off
392

393

394 395 396 397 398 399 400
# - Statistics Monitoring -

#log_parser_stats = off
#log_planner_stats = off
#log_executor_stats = off
#log_statement_stats = off

401

402 403 404
gp_autostats_mode=on_no_stats		# none, on_no_stats, on_change. see documentation for semantics.
gp_autostats_on_change_threshold=2147483647 # [0..INT_MAX]. see documentation for semantics.
log_autostats=off	# print additional autostats information
405

406
#------------------------------------------------------------------------------
407
# CLIENT CONNECTION DEFAULTS
408
#------------------------------------------------------------------------------
409 410

# - Statement Behavior -
411

412
#search_path = '"$user",public'		# schema names
413
#default_tablespace = ''		# a tablespace name, '' uses the default
414
#check_function_bodies = on
415
#default_transaction_isolation = 'read committed'
416
#default_transaction_read_only = off
417 418
#statement_timeout = 0			# in milliseconds, 0 is disabled
#idle_session_gang_timeout = 18s 	# in milliseconds, 0 is disabled
419
#vacuum_freeze_min_age = 100000000
420

421
# - Locale and Formatting -
422

423
#datestyle = 'iso, mdy'
424 425 426 427
#intervalstyle = 'postgres'
#timezone = unknown			# actually, defaults to TZ environment
					# setting
#timezone_abbreviations = 'Default'     # Select the set of available time zone
428 429 430 431
					# abbreviations. Currently, there are
					#   Default
					#   Australia
					#   India
432 433
					# You can create your own file in
					# share/timezonesets/.
434 435 436
#extra_float_digits = 0			# min -15, max 2
#client_encoding = sql_ascii		# actually, defaults to database
					# encoding
437

438 439
# These settings are initialized by initdb, but they can be changed.
#lc_messages = 'C'			# locale for system error message
440 441 442 443
					# strings
#lc_monetary = 'C'			# locale for monetary formatting
#lc_numeric = 'C'			# locale for number formatting
#lc_time = 'C'				# locale for time formatting
444

445
# - Other Defaults -
446 447

#dynamic_library_path = '$libdir'
448
#explain_pretty_print = on
449
#local_preload_libraries = ''
450

451

452
#------------------------------------------------------------------------------
453
# LOCK MANAGEMENT
454
#------------------------------------------------------------------------------
455

456
#deadlock_timeout = 1s
457
#max_locks_per_transaction = 128		# min 10
458
					# (change requires restart)
459
# Note:  Each lock table slot uses ~270 bytes of shared memory, and there are
460 461
# max_locks_per_transaction * (max_connections + max_prepared_transactions)
# lock table slots.
462 463


464
#---------------------------------------------------------------------------
465 466 467 468 469 470 471 472 473 474 475 476
# RESOURCE SCHEDULING
#---------------------------------------------------------------------------

#max_resource_queues = 9		# no. of resource queues to create.
#max_resource_portals_per_transaction = 64	# no. of portals per backend.
#resource_select_only = on		# resource lock SELECT queries only.
#resource_cleanup_gangs_on_wait = on	# Cleanup idle reader gangs before
										# resource lockwait.
gp_resqueue_memory_policy = 'eager_free'	# memory request based queueing. 
									# eager_free, auto or none
#---------------------------------------------------------------------------
# EXTERNAL TABLES
477
#---------------------------------------------------------------------------
478 479
#gp_external_enable_exec = on   # enable external tables with EXECUTE.
#gp_external_grant_privileges = off #enable create http/gpfdist for non su's
480

481 482 483 484 485 486 487 488 489 490 491
#---------------------------------------------------------------------------
# APPEND ONLY TABLES
#---------------------------------------------------------------------------
#gp_safefswritesize = 0   # minimum size for safe AO writes in a non-mature fs
max_appendonly_tables = 10000 # Maximum number of append only tables that can 
							  # participate in writing data concurrently.
#------------------------------------------------------------------------------
# VERSION/PLATFORM COMPATIBILITY
#------------------------------------------------------------------------------

# - Previous PostgreSQL Versions -
492

493
#add_missing_from = off
494
#array_nulls = on
495
#backslash_quote = safe_encoding	# on, off, or safe_encoding
496
#escape_string_warning = on
497
#regex_flavor = advanced		# advanced, extended, or basic
498
#standard_conforming_strings = on
499

500

501
# - Other Platforms and Clients -
502

503
#transform_null_equals = off
504 505 506


#---------------------------------------------------------------------------
507
# GREENPLUM ARRAY CONFIGURATION
508 509
#---------------------------------------------------------------------------

510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535
#---------------------------------------------------------------------------
# GREENPLUM ARRAY TUNING
#---------------------------------------------------------------------------

# - Interconnect -

#gp_max_packet_size = 8192
gp_interconnect_type=udpifc

# - Worker Process Creation -

gp_connections_per_thread = 64
gp_segment_connect_timeout = 600s
#gp_enable_delete_as_truncate = off

# - Resource limits -
gp_vmem_protect_limit = 8192  #Virtual memory limit (in MB).
#gp_vmem_idle_resource_timeout = 18000 # idle-time before gang-release, in milliseconds (zero disables release).

#------------------------------------------------------------------------------
# CUSTOMIZED OPTIONS
#------------------------------------------------------------------------------

#custom_variable_classes = ''			# list of custom variable class names
gp_backup_directIO = off				# enable\disable dump with direct IO
gp_backup_directIO_read_chunk_mb = 20	# Size of read Chunk buffer in directIO dump (in MB)