Thread: size of units in postgresql.conf
Hello, Quick question: what is the unit of memory size used in postgresql.conf? bytes? kilobytes? Is the base unit consistent for every field ? Thanks. -- Vincent Stoessel Linux Systems Developer vincent xaymaca.com
On Wed, 29 May 2002 16:12:51 -0400 "Vincent Stoessel" <vincent@xaymaca.com> wrote: > Hello, > Quick question: what is the unit of memory size used in postgresql.conf? > bytes? kilobytes? > Is the base unit consistent for every field ? No, it depends on the specific configuration directive. The documentation describes what each variable controls and the unit is is specified in: http://developer.postgresql.org/docs/postgres/runtime-config.html Cheers, Neil -- Neil Conway <neilconway@rogers.com> PGP Key ID: DB3C29FC
Why is it different for different directives? It seems like it would make maintenance a lot easier if we knew all the unit were bytes or kbytes by default. Are human readable variables supported (ie 12M , 11K) ? If not, can that be my feature request? Thanks. Neil Conway wrote: > On Wed, 29 May 2002 16:12:51 -0400 > "Vincent Stoessel" <vincent@xaymaca.com> wrote: > >>Hello, >>Quick question: what is the unit of memory size used in postgresql.conf? >>bytes? kilobytes? >>Is the base unit consistent for every field ? > > > No, it depends on the specific configuration directive. The > documentation describes what each variable controls and the unit > is is specified in: > > http://developer.postgresql.org/docs/postgres/runtime-config.html > > Cheers, > > Neil > -- Vincent Stoessel Linux Systems Developer vincent xaymaca.com
On Mon, 10 Jun 2002, Vincent Stoessel wrote: > Neil Conway wrote: > > On Wed, 29 May 2002 16:12:51 -0400 > > "Vincent Stoessel" <vincent@xaymaca.com> wrote: > > > >>Quick question: what is the unit of memory size used in postgresql.conf? > >>bytes? kilobytes? > >>Is the base unit consistent for every field ? > > > > No, it depends on the specific configuration directive. > > Why is it different for different directives? Some directives can be changed only in specific increments. For example, buffers are always 8K, so specifying 68K of buffers can't work; you'd need to specify 64K or 72K. It's a bit easier, perhaps, and possibly less mistake-prone, just to say "7" or "8". cjs -- Curt Sampson <cjs@cynic.net> +81 90 7737 2974 http://www.netbsd.org Don't you know, in this new Dark Age, we're all light. --XTC
Here is the 7.3 postgresql.conf file, where I have added units to the file. --------------------------------------------------------------------------- Vincent Stoessel wrote: > Why is it different for different directives? > It seems like it would make maintenance a lot easier if > we knew all the unit were bytes or kbytes by default. > Are human readable variables supported (ie 12M , 11K) ? > If not, can that be my feature request? > Thanks. > > > > > Neil Conway wrote: > > On Wed, 29 May 2002 16:12:51 -0400 > > "Vincent Stoessel" <vincent@xaymaca.com> wrote: > > > >>Hello, > >>Quick question: what is the unit of memory size used in postgresql.conf? > >>bytes? kilobytes? > >>Is the base unit consistent for every field ? > > > > > > No, it depends on the specific configuration directive. The > > documentation describes what each variable controls and the unit > > is is specified in: > > > > http://developer.postgresql.org/docs/postgres/runtime-config.html > > > > Cheers, > > > > Neil > > > > > > -- > Vincent Stoessel > Linux Systems Developer > vincent xaymaca.com > > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Don't 'kill -9' the postmaster > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 # # PostgreSQL configuration file # ----------------------------- # # This file consists of lines of the form: # # name = value # # (The '=' is optional.) White space may be used. Comments are introduced # with '#' anywhere on a line. The complete list of option names and # allowed values can be found in the PostgreSQL documentation. The # commented-out settings shown in this file represent the default values. # # 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 changed at run-time with the 'SET' SQL command. # # This file is read on postmaster startup and when the postmaster # receives a SIGHUP. If you edit the file on a running system, you have # to SIGHUP the postmaster for the changes to take effect, or use # "pg_ctl reload". #======================================================================== # # Connection Parameters # #tcpip_socket = false #ssl = false #max_connections = 32 #port = 5432 #hostname_lookup = false #show_source_port = false #unix_socket_directory = '' #unix_socket_group = '' #unix_socket_permissions = 0777 # octal #virtual_host = '' #krb_server_keyfile = '' # # Shared Memory Size # #shared_buffers = 64 # 2*max_connections, min 16, 8K each #max_fsm_relations = 100 # min 10, fsm is free space map #max_fsm_pages = 10000 # min 1000, fsm is free space map #max_locks_per_transaction = 64 # min 10 #wal_buffers = 8 # min 4, 8K each # # Non-shared Memory Sizes # #sort_mem = 1024 # min 64, size in KB #vacuum_mem = 8192 # min 1024, size in KB # # Write-ahead log (WAL) # #checkpoint_segments = 3 # in logfile segments, min 1, 16MB each #checkpoint_timeout = 300 # range 30-3600, in seconds # #wal_files = 0 # range 0-64 # #commit_delay = 0 # range 0-100000, in microseconds #commit_siblings = 5 # range 1-1000 # #fsync = true #wal_sync_method = fsync # the default varies across platforms: # # fsync, fdatasync, open_sync, or open_datasync #wal_debug = 0 # range 0-16 # # Optimizer Parameters # #enable_seqscan = true #enable_indexscan = true #enable_tidscan = true #enable_sort = true #enable_nestloop = true #enable_mergejoin = true #enable_hashjoin = true #effective_cache_size = 1000 # 8K each #random_page_cost = 4 #cpu_tuple_cost = 0.01 #cpu_index_tuple_cost = 0.001 #cpu_operator_cost = 0.0025 #default_statistics_target = 10 # range 1-1000 # # GEQO Optimizer Parameters # #geqo = true #geqo_selection_bias = 2.0 # range 1.5-2.0 #geqo_threshold = 11 #geqo_pool_size = 0 # default based on tables in query, # range 128-1024 #geqo_effort = 1 #geqo_generations = 0 #geqo_random_seed = -1 # auto-compute seed # # Message display # #server_min_messages = notice # Values, in order of decreasing detail: # debug5, debug4, debug3, debug2, debug1, # info, notice, warning, error, log, fatal, # panic #client_min_messages = notice # Values, in order of decreasing detail: # debug5, debug4, debug3, debug2, debug1, # log, info, notice, warning, error #silent_mode = false #log_connections = false #log_timestamp = false #log_pid = false #debug_print_query = false #debug_print_parse = false #debug_print_rewritten = false #debug_print_plan = false #debug_pretty_print = false #explain_pretty_print = true # requires USE_ASSERT_CHECKING #debug_assertions = true # # Syslog # #syslog = 0 # range 0-2 #syslog_facility = 'LOCAL0' #syslog_ident = 'postgres' # # Statistics # #show_parser_stats = false #show_planner_stats = false #show_executor_stats = false #show_query_stats = false # requires BTREE_BUILD_STATS #show_btree_build_stats = false # # Access statistics collection # #stats_start_collector = true #stats_reset_on_server_start = true #stats_command_string = false #stats_row_level = false #stats_block_level = false # # Lock Tracing # #trace_notify = false # requires LOCK_DEBUG #trace_locks = false #trace_userlocks = false #trace_lwlocks = false #debug_deadlocks = false #trace_lock_oidmin = 16384 #trace_lock_table = 0 # # Misc # #dynamic_library_path = '$libdir' #search_path = '$user,public' #datestyle = 'iso, us' #timezone = unknown # actually, defaults to TZ environment setting #australian_timezones = false #client_encoding = sql_ascii # actually, defaults to database encoding #authentication_timeout = 60 # 1-600, in seconds #deadlock_timeout = 1000 # in milliseconds #default_transaction_isolation = 'read committed' #max_expr_depth = 10000 # min 10 #max_files_per_process = 1000 # min 25 #password_encryption = true #sql_inheritance = true #transform_null_equals = false #statement_timeout = 0 # 0 is disabled, in milliseconds #db_user_namespace = false
Bruce Momjian <pgman@candle.pha.pa.us> writes: > Here is the 7.3 postgresql.conf file, where I have added units to the > file. Aren't these misleading if one is using nonstandard BLCKSZ? > #shared_buffers = 64 # 2*max_connections, min 16, 8K each > #wal_buffers = 8 # min 4, 8K each > #effective_cache_size = 1000 # 8K each These could usefully be labeled as "unit is cost of a sequential page fetch": > #random_page_cost = 4 > #cpu_tuple_cost = 0.01 > #cpu_index_tuple_cost = 0.001 > #cpu_operator_cost = 0.0025 regards, tom lane
En Mon, 26 Aug 2002 18:23:50 -0400 (EDT) Bruce Momjian <pgman@candle.pha.pa.us> escribió: > Here is the 7.3 postgresql.conf file, where I have added units to the > file. It'd be nice to detail the meaning of the FSM entries also... -- Alvaro Herrera (<alvherre[a]atentus.com>) Hi! I'm a .signature virus! cp me into your .signature file to help me spread!
Tom Lane wrote: > Bruce Momjian <pgman@candle.pha.pa.us> writes: > > Here is the 7.3 postgresql.conf file, where I have added units to the > > file. > > Aren't these misleading if one is using nonstandard BLCKSZ? Yep, I remembered it but forgot later. I added "typically" to the 8k mention in all places. > > > #shared_buffers = 64 # 2*max_connections, min 16, 8K each > > #wal_buffers = 8 # min 4, 8K each > > #effective_cache_size = 1000 # 8K each > > > These could usefully be labeled as "unit is cost of a sequential page > fetch": > > > #random_page_cost = 4 > > #cpu_tuple_cost = 0.01 > > #cpu_index_tuple_cost = 0.001 > > #cpu_operator_cost = 0.0025 Nice, it is now: #random_page_cost = 4 # units are one sequential page fetch cost #cpu_tuple_cost = 0.01 # (same) #cpu_index_tuple_cost = 0.001 # (same) #cpu_operator_cost = 0.0025 # (same) -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073
Alvaro Herrera wrote: > En Mon, 26 Aug 2002 18:23:50 -0400 (EDT) > Bruce Momjian <pgman@candle.pha.pa.us> escribi?: > > > Here is the 7.3 postgresql.conf file, where I have added units to the > > file. > > It'd be nice to detail the meaning of the FSM entries also... Would someone explain the rough size of each entry. The meaning has to be gotten from the documentation. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073
Bruce Momjian <pgman@candle.pha.pa.us> writes: >> It'd be nice to detail the meaning of the FSM entries also... > Would someone explain the rough size of each entry. fsm_relations look to be about 40 bytes each (52 on a machine where pointers are 8 bytes). fsm_pages are ~6 bytes each. regards, tom lane
Thanks. Added. --------------------------------------------------------------------------- Tom Lane wrote: > Bruce Momjian <pgman@candle.pha.pa.us> writes: > >> It'd be nice to detail the meaning of the FSM entries also... > > > Would someone explain the rough size of each entry. > > fsm_relations look to be about 40 bytes each (52 on a machine > where pointers are 8 bytes). > > fsm_pages are ~6 bytes each. > > regards, tom lane > > ---------------------------(end of broadcast)--------------------------- > TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073