Thread: size of units in postgresql.conf

size of units in postgresql.conf

From
Vincent Stoessel
Date:
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


Re: size of units in postgresql.conf

From
Neil Conway
Date:
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

Re: size of units in postgresql.conf

From
Vincent Stoessel
Date:
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


Re: size of units in postgresql.conf

From
Curt Sampson
Date:
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


Re: size of units in postgresql.conf

From
Bruce Momjian
Date:
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


Re: size of units in postgresql.conf

From
Tom Lane
Date:
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

Re: size of units in postgresql.conf

From
Alvaro Herrera
Date:
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!

Re: size of units in postgresql.conf

From
Bruce Momjian
Date:
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

Re: size of units in postgresql.conf

From
Bruce Momjian
Date:
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

Re: size of units in postgresql.conf

From
Tom Lane
Date:
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

Re: size of units in postgresql.conf

From
Bruce Momjian
Date:
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