Thread: Fw: Query performance issue with 8.0.0beta1

Fw: Query performance issue with 8.0.0beta1

From
"Stefano Bonnin"
Date:
----- Original Message -----
From: "Stefano Bonnin" <stefano.bonnin@comai.to>
To: "Josh Berkus" <josh@agliodbs.com>
Sent: Monday, August 30, 2004 4:13 PM
Subject: Re: [PERFORM] Query performance issue with 8.0.0beta1


> This is my postgres.conf, I have changed only the work_mem and
> shared_buffers parameters.
>
> >DID you
> > configure it for the 8.0 database?
>
> What does it mean? Is in 8.0 some important NEW configation parameter ?
>
> # pgdata = '/usr/local/pgsql/data'              # use data in another
> directory
> # hba_conf = '/etc/pgsql/pg_hba.conf'           # use hba info in another
> directory
> # ident_conf = '/etc/pgsql/pg_ident.conf'       # use ident info in
another
> directory
> # external_pidfile= '/var/run/postgresql.pid'   # write an extra pid file
> #listen_addresses = 'localhost' # what IP interface(s) to listen on;
>                                 # defaults to localhost, '*' = any
> #port = 5432
> max_connections = 100
> #superuser_reserved_connections = 2
> #unix_socket_directory = ''
> #unix_socket_group = ''
> #unix_socket_permissions = 0777 # octal
> #rendezvous_name = ''           # defaults to the computer name
> #authentication_timeout = 60    # 1-600, in seconds
> #ssl = false
> #password_encryption = true
> #krb_server_keyfile = ''
> #db_user_namespace = false
>
> shared_buffers = 2048           # min 16, at least max_connections*2, 8KB
> each
> work_mem = 2048                 # min 64, size in KB
> #maintenance_work_mem = 16384   # min 1024, size in KB
> #max_stack_depth = 2048         # min 100, size in KB
>
> #max_fsm_pages = 20000          # min max_fsm_relations*16, 6 bytes each
> #max_fsm_relations = 1000       # min 100, ~50 bytes each
>
> #max_files_per_process = 1000   # min 25
> #preload_libraries = ''
>
> #vacuum_cost_delay = 0          # 0-1000 milliseconds
> #vacuum_cost_page_hit = 1       # 0-10000 credits
> #vacuum_cost_page_miss = 10     # 0-10000 credits
> #vacuum_cost_page_dirty = 20    # 0-10000 credits
> #vacuum_cost_limit = 200        # 0-10000 credits
>
> #bgwriter_delay = 200           # 10-5000 milliseconds
> #bgwriter_percent = 1           # 1-100% of dirty buffers
> #bgwriter_maxpages = 100        # 1-1000 buffers max at once
>
> #fsync = true                   # turns forced synchronization on or off
> #wal_sync_method = fsync        # the default varies across platforms:
>                                 # fsync, fdatasync, open_sync, or
> open_datasync
> #wal_buffers = 8                # min 4, 8KB each
> #commit_delay = 0               # range 0-100000, in microseconds
> #commit_siblings = 5            # range 1-100
> #checkpoint_segments = 3        # in logfile segments, min 1, 16MB each
> #checkpoint_timeout = 300       # range 30-3600, in seconds
> #checkpoint_warning = 30        # 0 is off, in seconds
>
> #archive_command = ''           # command to use to archive a logfile
> segment
>
> #enable_hashagg = true
> #enable_hashjoin = true
> #enable_indexscan = true
> #enable_mergejoin = true
> #enable_nestloop = true
> #enable_seqscan = true
> #enable_sort = true
> #enable_tidscan = true
>
> #effective_cache_size = 1000    # typically 8KB each
> #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)
>
> #geqo = true
> #geqo_threshold = 12
> #geqo_effort = 5                # range 1-10
> #geqo_pool_size = 0             # selects default based on effort
> #geqo_generations = 0           # selects default based on effort
> #geqo_selection_bias = 2.0      # range 1.5-2.0
>
> default_statistics_target = 20  # range 1-1000
> #from_collapse_limit = 8
> #join_collapse_limit = 8        # 1 disables collapsing of explicit JOINs
>
> #log_destination = 'stderr'     # Valid values are combinations of stderr,
>                                 # syslog and eventlog, depending on
>                                 # platform.
>
> # This is relevant when logging to stderr:
> #redirect_stderr = false    # Enable capturing of stderr into log files.
> # These are only relevant if redirect_stderr is true:
> #log_directory = 'pg_log'   # Directory where logfiles are written.
>                             # May be specified absolute or relative to
> PGDATA
> #log_filename_prefix = 'postgresql_' # Prefix for logfile names.
> #log_rotation_age = 1440    # Automatic rotation of logfiles will happen
> after
>                             # so many minutes.  0 to disable.
> #log_rotation_size = 10240  # Automatic rotation of logfiles will happen
> after
>                             # so many kilobytes of log output.  0 to
> disable.
>
> # These are relevant when logging to syslog:
> #syslog_facility = 'LOCAL0'
> #syslog_ident = 'postgres'
>
>
> # - When to Log -
>
> #client_min_messages = notice   # Values, in order of decreasing detail:
>                                 #   debug5, debug4, debug3, debug2,
debug1,
>                                 #   log, notice, warning, error
>
> #log_min_messages = notice      # Values, in order of decreasing detail:
>                                 #   debug5, debug4, debug3, debug2,
debug1,
>                                 #   info, notice, warning, error, log,
> fatal,
>                                 #   panic
>
> #log_error_verbosity = default  # terse, default, or verbose messages
>
> #log_min_error_statement = panic # Values in order of increasing severity:
>                                  #   debug5, debug4, debug3, debug2,
debug1,
>                                  #   info, notice, warning, error,
> panic(off)
>
> #log_min_duration_statement = -1 # -1 is disabled, in milliseconds.
>
> #silent_mode = false             # DO NOT USE without syslog or
> redirect_stderr
>
> # - What to Log -
>
> #debug_print_parse = false
> #debug_print_rewritten = false
> #debug_print_plan = false
> #debug_pretty_print = false
> #log_connections = false
> #log_disconnections = false
> #log_duration = false
> #log_line_prefix = '%t %u %d '  # e.g. '<%u%%%d> '
>                                 # %u=user name %d=database name
>                                 # %r=remote host and port
>                                 # %p=PID %t=timestamp %i=command tag
>                                 # %c=session id %l=session line number
>                                 # %s=session start timestamp
>                                 # %x=stop here in non-session processes
>                                 # %%='%'
> log_statement = 'all'           # none, mod, ddl, all
> #log_hostname = false
>
>
>
#---------------------------------------------------------------------------
> # RUNTIME STATISTICS
>
#---------------------------------------------------------------------------
>
> # - Statistics Monitoring -
>
> #log_parser_stats = false
> #log_planner_stats = false
> #log_executor_stats = false
> #log_statement_stats = false
>
> # - Query/Index Statistics Collector -
>
> #stats_start_collector = true
> #stats_command_string = false
> #stats_block_level = false
> #stats_row_level = false
> #stats_reset_on_server_start = true
>
#---------------------------------------------------------------------------
> # CLIENT CONNECTION DEFAULTS
>
#---------------------------------------------------------------------------
>
> # - Statement Behavior -
>
> #search_path = '$user,public'   # schema names
> #check_function_bodies = true
> #default_transaction_isolation = 'read committed'
> #default_transaction_read_only = false
> #statement_timeout = 0          # 0 is disabled, in milliseconds
>
> # - Locale and Formatting -
>
> #datestyle = 'iso, mdy'
> #timezone = unknown             # actually, defaults to TZ environment
> setting
> #australian_timezones = false
> #extra_float_digits = 0         # min -15, max 2
> #client_encoding = sql_ascii    # actually, defaults to database encoding
>
> # These settings are initialized by initdb -- they might be changed
> lc_messages = 'it_IT.UTF-8'             # locale for system error message
> strings
> lc_monetary = 'it_IT.UTF-8'             # locale for monetary formatting
> lc_numeric = 'it_IT.UTF-8'              # locale for number formatting
> lc_time = 'it_IT.UTF-8'                 # locale for time formatting
>
> # - Other Defaults -
>
> #explain_pretty_print = true
> #dynamic_library_path = '$libdir'
>
>
>
#---------------------------------------------------------------------------
> # LOCK MANAGEMENT
>
#---------------------------------------------------------------------------
>
> #deadlock_timeout = 1000        # in milliseconds
> #max_locks_per_transaction = 64 # min 10, ~260*max_connections bytes each
>
>
>
#---------------------------------------------------------------------------
> # VERSION/PLATFORM COMPATIBILITY
>
#---------------------------------------------------------------------------
>
> # - Previous Postgres Versions -
> #add_missing_from = true
> #regex_flavor = advanced        # advanced, extended, or basic
> #sql_inheritance = true
> #default_with_oids = true
>
> # - Other Platforms & Clients -
>
> #transform_null_equals = false
>
>
>
> ************************
> Thanks
>
> PS. I'm sorry for the late answer but I was not in office.
>
> ----- Original Message -----
> From: "Josh Berkus" <josh@agliodbs.com>
> To: "Stefano Bonnin" <stefano.bonnin@comai.to>;
> <pgsql-performance@postgresql.org>
> Sent: Friday, August 27, 2004 7:14 PM
> Subject: Re: [PERFORM] Query performance issue with 8.0.0beta1
>
>
> > Stefano,
> >
> > > Hi, I have just installed 8.0.0beta1 and I noticed that some query are
> > > slower than 7.4.2 queries.
> >
> > Seems unlikely.   How have you configured postgresql.conf?    DID you
> > configure it for the 8.0 database?
> >
> > --
> > Josh Berkus
> > Aglio Database Solutions
> > San Francisco
> >
>