Re: BUG #16665: Segmentation fault

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Raphael Megzari <raphael(at)megzari(dot)com>
Cc: PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org>, Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>
Subject: Re: BUG #16665: Segmentation fault
Date: 2020-10-11 07:13:12
Message-ID: CAFj8pRBj5z1z2A5pFAzjYh+gfD2W3iCfD1b8y-MoZaN9VjuViw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

ne 11. 10. 2020 v 8:54 odesílatel Raphael Megzari <raphael(at)megzari(dot)com>
napsal:

> I'm not sure how to install debug symbols for Postgres, if you point me to
> the right resource, I can read it.
>

it is a separate package - it has no relation to Postgres configuration.

maybe this thread is related
https://github.com/docker-library/postgres/issues/666

Pavel

> Here is my full configuration file. I haven't changed so many values
>
>
> #------------------------------------------------------------------------------
> # FILE LOCATIONS
>
> #------------------------------------------------------------------------------
>
> # The default values of these variables are driven from the -D command-line
> # option or PGDATA environment variable, represented here as ConfigDir.
>
> #data_directory = 'ConfigDir' # use data in another directory
> # (change requires restart)
> #hba_file = 'ConfigDir/pg_hba.conf' # host-based authentication file
> # (change requires restart)
> #ident_file = 'ConfigDir/pg_ident.conf' # ident configuration file
> # (change requires restart)
>
> # If external_pid_file is not explicitly set, no extra PID file is written.
> #external_pid_file = '' # write an extra PID file
> # (change requires restart)
>
>
>
> #------------------------------------------------------------------------------
> # CONNECTIONS AND AUTHENTICATION
>
> #------------------------------------------------------------------------------
>
> # - Connection Settings -
>
> listen_addresses = '*'
> # comma-separated list of
> addresses;
> # defaults to 'localhost'; use '*'
> for all
> # (change requires restart)
> #port = 5432 # (change requires restart)
> max_connections = 300 # (change requires restart)
> #superuser_reserved_connections = 3 # (change requires restart)
> #unix_socket_directories = '/var/run/postgresql' # comma-separated
> list of directories
> # (change requires restart)
> #unix_socket_group = '' # (change requires restart)
> #unix_socket_permissions = 0777 # begin with 0 to use octal
> notation
> # (change requires restart)
> #bonjour = off # advertise server via Bonjour
> # (change requires restart)
> #bonjour_name = '' # defaults to the computer name
> # (change requires restart)
>
> # - TCP settings -
> # see "man tcp" for details
>
> #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
> #tcp_user_timeout = 0 # TCP_USER_TIMEOUT, in
> milliseconds;
> # 0 selects the system default
>
> # - Authentication -
>
> #authentication_timeout = 1min # 1s-600s
> #password_encryption = md5 # md5 or scram-sha-256
> #db_user_namespace = off
>
> # GSSAPI using Kerberos
> #krb_server_keyfile = ''
> #krb_caseins_users = off
>
> # - SSL -
>
> #ssl = off
> #ssl_ca_file = ''
> #ssl_cert_file = 'server.crt'
> #ssl_crl_file = ''
> #ssl_key_file = 'server.key'
> #ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL' # allowed SSL ciphers
> #ssl_prefer_server_ciphers = on
> #ssl_ecdh_curve = 'prime256v1'
> #ssl_min_protocol_version = 'TLSv1.2'
> #ssl_max_protocol_version = ''
> #ssl_dh_params_file = ''
> #ssl_passphrase_command = ''
> #ssl_passphrase_command_supports_reload = off
>
>
>
> #------------------------------------------------------------------------------
> # RESOURCE USAGE (except WAL)
>
> #------------------------------------------------------------------------------
>
> # - Memory -
>
> shared_buffers = 8GB # min 128kB
> # (change requires restart)
> #huge_pages = try # on, off, or try
> # (change requires restart)
> #temp_buffers = 8MB # min 800kB
> #max_prepared_transactions = 0 # zero disables the feature
> # (change requires restart)
> # Caution: it is not advisable to set max_prepared_transactions nonzero
> unless
> # you actively intend to use prepared transactions.
> work_mem = 64MB # min 64kB
> #hash_mem_multiplier = 1.0 # 1-1000.0 multiplier on hash
> table work_mem
> maintenance_work_mem = 2GB # min 1MB
> #autovacuum_work_mem = -1 # min 1MB, or -1 to use
> maintenance_work_mem
> #logical_decoding_work_mem = 64MB # min 64kB
> #max_stack_depth = 2MB # min 100kB
> #shared_memory_type = mmap # the default is the first option
> # supported by the operating
> system:
> # mmap
> # sysv
> # windows
> # (change requires restart)
> dynamic_shared_memory_type = posix # the default is the first option
> # supported by the operating
> system:
> # posix
> # sysv
> # windows
> # mmap
> # (change requires restart)
>
> # - Disk -
>
> #temp_file_limit = -1 # limits per-process temp file
> space
> # in kilobytes, or -1 for no limit
>
> # - Kernel Resources -
>
> #max_files_per_process = 1000 # min 64
> # (change requires restart)
>
> # - Cost-Based Vacuum Delay -
>
> #vacuum_cost_delay = 0 # 0-100 milliseconds (0 disables)
> #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 # 1-10000 credits
>
> # - Background Writer -
>
> #bgwriter_delay = 200ms # 10-10000ms between rounds
> #bgwriter_lru_maxpages = 100 # max buffers written/round, 0
> disables
> #bgwriter_lru_multiplier = 2.0 # 0-10.0 multiplier on buffers
> scanned/round
> #bgwriter_flush_after = 512kB # measured in pages, 0 disables
>
> # - Asynchronous Behavior -
>
> effective_io_concurrency = 200 # 1-1000; 0 disables prefetching
> #maintenance_io_concurrency = 10 # 1-1000; 0 disables prefetching
> max_worker_processes = 16 # (change requires restart)
> max_parallel_maintenance_workers = 4 # taken from max_parallel_workers
> max_parallel_workers_per_gather = 4 # taken from max_parallel_workers
> #parallel_leader_participation = on
> max_parallel_workers = 16 # maximum number of
> max_worker_processes that
> # can be used in parallel
> operations
> #old_snapshot_threshold = -1 # 1min-60d; -1 disables; 0 is
> immediate
> # (change requires restart)
> #backend_flush_after = 0 # measured in pages, 0 disables
>
>
>
> #------------------------------------------------------------------------------
> # WRITE-AHEAD LOG
>
> #------------------------------------------------------------------------------
>
> # - Settings -
>
> #wal_level = replica # minimal, replica, or logical
> # (change requires restart)
> #fsync = on # flush data to disk for crash
> safety
> # (turning this off can cause
> # unrecoverable data corruption)
> #synchronous_commit = on # synchronization level;
> # off, local, remote_write,
> remote_apply, or on
> #wal_sync_method = fsync # the default is the first option
> # supported by the operating
> system:
> # open_datasync
> # fdatasync (default on Linux)
> # fsync
> # fsync_writethrough
> # open_sync
> #full_page_writes = on # recover from partial page writes
> #wal_compression = off # enable compression of full-page
> writes
> #wal_log_hints = off # also do full page writes of
> non-critical updates
> # (change requires restart)
> #wal_init_zero = on # zero-fill new WAL files
> #wal_recycle = on # recycle WAL files
> wal_buffers = 16MB # min 32kB, -1 sets based on
> shared_buffers
> # (change requires restart)
> #wal_writer_delay = 200ms # 1-10000 milliseconds
> #wal_writer_flush_after = 1MB # measured in pages, 0 disables
> #wal_skip_threshold = 2MB
>
> #commit_delay = 0 # range 0-100000, in microseconds
> #commit_siblings = 5 # range 1-1000
>
> # - Checkpoints -
>
> #checkpoint_timeout = 5min # range 30s-1d
> max_wal_size = 8GB
> min_wal_size = 2GB
> checkpoint_completion_target = 0.9 # checkpoint target duration, 0.0
> - 1.0
> #checkpoint_flush_after = 256kB # measured in pages, 0 disables
> #checkpoint_warning = 30s # 0 disables
>
> # - Archiving -
>
> #archive_mode = off # enables archiving; off, on, or always
> # (change requires restart)
> #archive_command = '' # command to use to archive a logfile
> segment
> # placeholders: %p = path of file to
> archive
> # %f = file name only
> # e.g. 'test ! -f
> /mnt/server/archivedir/%f && cp %p /mnt/server/archivedir/%f'
> #archive_timeout = 0 # force a logfile segment switch after this
> # number of seconds; 0 disables
>
> # - Archive Recovery -
>
> # These are only used in recovery mode.
>
> #restore_command = '' # command to use to restore an archived
> logfile segment
> # placeholders: %p = path of file to
> restore
> # %f = file name only
> # e.g. 'cp /mnt/server/archivedir/%f %p'
> # (change requires restart)
> #archive_cleanup_command = '' # command to execute at every restartpoint
> #recovery_end_command = '' # command to execute at completion of
> recovery
>
> # - Recovery Target -
>
> # Set these only when performing a targeted recovery.
>
> #recovery_target = '' # 'immediate' to end recovery as soon as a
> # consistent state is reached
> # (change requires restart)
> #recovery_target_name = '' # the named restore point to which
> recovery will proceed
> # (change requires restart)
> #recovery_target_time = '' # the time stamp up to which recovery will
> proceed
> # (change requires restart)
> #recovery_target_xid = '' # the transaction ID up to which recovery
> will proceed
> # (change requires restart)
> #recovery_target_lsn = '' # the WAL LSN up to which recovery will
> proceed
> # (change requires restart)
> #recovery_target_inclusive = on # Specifies whether to stop:
> # just after the specified recovery target
> (on)
> # just before the recovery target (off)
> # (change requires restart)
> #recovery_target_timeline = 'latest' # 'current', 'latest', or timeline
> ID
> # (change requires restart)
> #recovery_target_action = 'pause' # 'pause', 'promote', 'shutdown'
> # (change requires restart)
>
>
>
> #------------------------------------------------------------------------------
> # REPLICATION
>
> #------------------------------------------------------------------------------
>
> # - Sending Servers -
>
> # Set these on the master and on any standby that will send replication
> data.
>
> #max_wal_senders = 10 # max number of walsender processes
> # (change requires restart)
> #wal_keep_size = 0 # in megabytes; 0 disables
> #max_slot_wal_keep_size = -1 # in megabytes; -1 disables
> #wal_sender_timeout = 60s # in milliseconds; 0 disables
>
> #max_replication_slots = 10 # max number of replication slots
> # (change requires restart)
> #track_commit_timestamp = off # collect timestamp of transaction commit
> # (change requires restart)
>
> # - Master Server -
>
> # These settings are ignored on a standby server.
>
> #synchronous_standby_names = '' # standby servers that provide sync rep
> # method to choose sync standbys, number
> of sync standbys,
> # and comma-separated list of
> application_name
> # from standby(s); '*' = all
> #vacuum_defer_cleanup_age = 0 # number of xacts by which cleanup is
> delayed
>
> # - Standby Servers -
>
> # These settings are ignored on a master server.
>
> #primary_conninfo = '' # connection string to sending
> server
> #primary_slot_name = '' # replication slot on sending
> server
> #promote_trigger_file = '' # file name whose presence ends
> recovery
> #hot_standby = on # "off" disallows queries during
> recovery
> # (change requires restart)
> #max_standby_archive_delay = 30s # max delay before canceling
> queries
> # when reading WAL from archive;
> # -1 allows indefinite delay
> # (change requires restart)
> #max_sync_workers_per_subscription = 2 # taken from
> max_logical_replication_workers
>
>
>
> #------------------------------------------------------------------------------
> # QUERY TUNING
>
> #------------------------------------------------------------------------------
>
> # - Planner Method Configuration -
>
> #enable_bitmapscan = on
> #enable_hashagg = on
> #enable_hashjoin = on
> #enable_indexscan = on
> #enable_indexonlyscan = on
> #enable_material = on
> #enable_mergejoin = on
> #enable_nestloop = on
> #enable_parallel_append = on
> #enable_seqscan = on
> #enable_sort = on
> #enable_incremental_sort = on
> #enable_tidscan = on
> #enable_partitionwise_join = off
> #enable_partitionwise_aggregate = off
> #enable_parallel_hash = on
> #enable_partition_pruning = on
>
> # - Planner Cost Constants -
>
> #seq_page_cost = 1.0 # measured on an arbitrary scale
> random_page_cost = 1.1 # same scale as above
> #cpu_tuple_cost = 0.01 # same scale as above
> #cpu_index_tuple_cost = 0.005 # same scale as above
> #cpu_operator_cost = 0.0025 # same scale as above
> #parallel_tuple_cost = 0.1 # same scale as above
> #parallel_setup_cost = 1000.0 # same scale as above
>
> #jit_above_cost = 100000 # perform JIT compilation if
> available
> # and query more expensive than
> this;
> # -1 disables
> #jit_inline_above_cost = 500000 # inline small functions if query
> is
> # more expensive than this; -1
> disables
> #jit_optimize_above_cost = 500000 # use expensive JIT optimizations
> if
> # query is more expensive than
> this;
> # -1 disables
>
> #min_parallel_table_scan_size = 8MB
> #min_parallel_index_scan_size = 512kB
> effective_cache_size = 24GB
>
> # - Genetic Query Optimizer -
>
> #geqo = on
> #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
> #geqo_seed = 0.0 # range 0.0-1.0
>
> # - Other Planner Options -
>
> #default_statistics_target = 100 # range 1-10000
> #constraint_exclusion = partition # on, off, or partition
> #cursor_tuple_fraction = 0.1 # range 0.0-1.0
> #from_collapse_limit = 8
> #join_collapse_limit = 8 # 1 disables collapsing of explicit
> # JOIN clauses
> #force_parallel_mode = off
> #jit = on # allow JIT compilation
> #plan_cache_mode = auto # auto, force_generic_plan or
> # force_custom_plan
>
>
>
> #------------------------------------------------------------------------------
> # REPORTING AND LOGGING
>
> #------------------------------------------------------------------------------
>
> # - Where to Log -
>
> #log_destination = 'stderr' # Valid values are combinations of
> # stderr, csvlog, syslog, and
> eventlog,
> # depending on platform. csvlog
> # requires logging_collector to be
> on.
>
> # This is used when logging to stderr:
> #logging_collector = off # Enable capturing of stderr and
> csvlog
> # into log files. Required to be
> on for
> # csvlogs.
> # (change requires restart)
>
> # These are only used if logging_collector is on:
> #log_directory = 'log' # directory where log files are
> written,
> # can be absolute or relative to
> PGDATA
> #log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # log file name
> pattern,
> # can include strftime() escapes
> #log_file_mode = 0600 # creation mode for log files,
> # begin with 0 to use octal
> notation
> #log_truncate_on_rotation = off # If on, an existing log file with
> the
> # same name as the new log file
> will be
> # truncated rather than appended
> to.
> # But such truncation only occurs
> on
> # time-driven rotation, not on
> restarts
> # or size-driven rotation.
> Default is
> # off, meaning append to existing
> files
> # in all cases.
> #log_rotation_age = 1d # Automatic rotation of logfiles
> will
> # happen after that time. 0
> disables.
> #log_rotation_size = 10MB # Automatic rotation of logfiles
> will
> # happen after that much log
> output.
> # 0 disables.
>
> # These are relevant when logging to syslog:
> #syslog_facility = 'LOCAL0'
> #syslog_ident = 'postgres'
> #syslog_sequence_numbers = on
> #syslog_split_messages = on
>
> # This is only relevant when logging to eventlog (win32):
> # (change requires restart)
> #event_source = 'PostgreSQL'
>
> # - When to Log -
>
> #log_min_messages = warning # values in order of decreasing
> detail:
> # debug5
> # debug4
> # debug3
> # debug2
> # debug1
> # info
> # notice
> # warning
> # error
> # log
> # fatal
> # panic
>
> #log_min_error_statement = error # values in order of decreasing
> detail:
> # debug5
> # debug4
> # debug3
> # debug2
> # debug1
> # info
> # notice
> # warning
> # error
> # log
> # fatal
> # panic (effectively off)
>
> #log_min_duration_statement = -1 # -1 is disabled, 0 logs all
> statements
> # and their durations, > 0 logs
> only
> # statements running at least this
> number
> # of milliseconds
>
> #log_min_duration_sample = -1 # -1 is disabled, 0 logs a sample
> of statements
> # and their durations, > 0 logs
> only a sample of
> # statements running at least this
> number
> # of milliseconds;
> # sample fraction is determined by
> log_statement_sample_rate
>
> #log_statement_sample_rate = 1.0 # fraction of logged statements
> exceeding
> # log_min_duration_sample to be
> logged;
> # 1.0 logs all such statements,
> 0.0 never logs
>
>
> #log_transaction_sample_rate = 0.0 # fraction of transactions whose
> statements
> # are logged regardless of their
> duration; 1.0 logs all
> # statements from all
> transactions, 0.0 never logs
>
> # - What to Log -
>
> #debug_print_parse = off
> #debug_print_rewritten = off
> #debug_print_plan = off
> #debug_pretty_print = on
> #log_checkpoints = off
> #log_connections = off
> #log_disconnections = off
> #log_duration = off
> #log_error_verbosity = default # terse, default, or verbose
> messages
> #log_hostname = off
> #log_line_prefix = '%m [%p] ' # special values:
> # %a = application name
> # %u = user name
> # %d = database name
> # %r = remote host and port
> # %h = remote host
> # %b = backend type
> # %p = process ID
> # %t = timestamp without
> milliseconds
> # %m = timestamp with
> milliseconds
> # %n = timestamp with
> milliseconds (as a Unix epoch)
> # %i = command tag
> # %e = SQL state
> # %c = session ID
> # %l = session line number
> # %s = session start timestamp
> # %v = virtual transaction ID
> # %x = transaction ID (0 if none)
> # %q = stop here in non-session
> # processes
> # %% = '%'
> # e.g. '<%u%%%d> '
> #log_lock_waits = off # log lock waits >=
> deadlock_timeout
> #log_parameter_max_length = -1 # when logging statements, limit
> logged
> # bind-parameter values to N bytes;
> # -1 means print in full, 0
> disables
> #log_parameter_max_length_on_error = 0 # when logging an error, limit
> logged
> # bind-parameter values to N bytes;
> # -1 means print in full, 0
> disables
> #log_statement = 'none' # none, ddl, mod, all
> #log_replication_commands = off
> #log_temp_files = -1 # log temporary files equal or
> larger
> # than the specified size in
> kilobytes;
> # -1 disables, 0 logs all temp
> files
> log_timezone = 'UTC'
>
>
> #------------------------------------------------------------------------------
> # PROCESS TITLE
>
> #------------------------------------------------------------------------------
>
> #cluster_name = '' # added to process titles if
> nonempty
> # (change requires restart)
> #update_process_title = on
>
>
>
> #------------------------------------------------------------------------------
> # STATISTICS
>
> #------------------------------------------------------------------------------
>
> # - Query and Index Statistics Collector -
>
> #track_activities = on
> #track_counts = on
> #track_io_timing = off
> #track_functions = none # none, pl, all
> #track_activity_query_size = 1024 # (change requires restart)
> #stats_temp_directory = 'pg_stat_tmp'
>
>
> # - Monitoring -
>
> #log_parser_stats = off
> #log_planner_stats = off
> #log_executor_stats = off
> #log_statement_stats = off
>
>
>
> #------------------------------------------------------------------------------
> # AUTOVACUUM
>
> #------------------------------------------------------------------------------
>
> #autovacuum = on # Enable autovacuum subprocess?
> 'on'
> # requires track_counts to also be
> on.
> #log_autovacuum_min_duration = -1 # -1 disables, 0 logs all actions
> and
> # their durations, > 0 logs only
> # actions running at least this
> number
> # of milliseconds.
> #autovacuum_max_workers = 3 # max number of autovacuum
> subprocesses
> # (change requires restart)
> #autovacuum_naptime = 1min # time between autovacuum runs
> #autovacuum_vacuum_threshold = 50 # min number of row updates before
> # vacuum
> #autovacuum_vacuum_insert_threshold = 1000 # min number of row inserts
> # before vacuum; -1 disables insert
> # vacuums
> #autovacuum_analyze_threshold = 50 # min number of row updates before
> # analyze
> #autovacuum_vacuum_scale_factor = 0.2 # fraction of table size before
> vacuum
> #autovacuum_vacuum_insert_scale_factor = 0.2 # fraction of inserts over
> table
> # size before insert vacuum
> #autovacuum_analyze_scale_factor = 0.1 # fraction of table size before
> analyze
> #autovacuum_freeze_max_age = 200000000 # maximum XID age before forced
> vacuum
> # (change requires restart)
> #autovacuum_multixact_freeze_max_age = 400000000 # maximum
> multixact age
> # before forced vacuum
> # (change requires restart)
> #autovacuum_vacuum_cost_delay = 2ms # default vacuum cost delay for
> # autovacuum, in milliseconds;
> # -1 means use vacuum_cost_delay
> #autovacuum_vacuum_cost_limit = -1 # default vacuum cost limit for
> # autovacuum, -1 means use
> # vacuum_cost_limit
>
>
>
> #------------------------------------------------------------------------------
> # CLIENT CONNECTION DEFAULTS
>
> #------------------------------------------------------------------------------
>
> # - Statement Behavior -
>
> #client_min_messages = notice # values in order of decreasing
> detail:
> # debug5
> # debug4
> # debug3
> # debug2
> # debug1
> # log
> # notice
> # warning
> # error
> #search_path = '"$user", public' # schema names
> #row_security = on
> #default_tablespace = '' # a tablespace name, '' uses the
> default
> #temp_tablespaces = '' # a list of tablespace names, ''
> uses
> # only default tablespace
> #default_table_access_method = 'heap'
> #check_function_bodies = on
> #default_transaction_isolation = 'read committed'
> #default_transaction_read_only = off
> #default_transaction_deferrable = off
> #session_replication_role = 'origin'
> #statement_timeout = 0 # in milliseconds, 0 is disabled
> #lock_timeout = 0 # in milliseconds, 0 is disabled
> #idle_in_transaction_session_timeout = 0 # in milliseconds, 0 is
> disabled
> #vacuum_freeze_min_age = 50000000
> #vacuum_freeze_table_age = 150000000
> #vacuum_multixact_freeze_min_age = 5000000
> #vacuum_multixact_freeze_table_age = 150000000
> #vacuum_cleanup_index_scale_factor = 0.1 # fraction of total number
> of tuples
> # before index cleanup, 0
> always performs
> # index cleanup
> #bytea_output = 'hex' # hex, escape
> #xmlbinary = 'base64'
> #xmloption = 'content'
> #gin_fuzzy_search_limit = 0
> #gin_pending_list_limit = 4MB
>
> # - Locale and Formatting -
>
> datestyle = 'iso, mdy'
> #intervalstyle = 'postgres'
> timezone = 'UTC'
> #timezone_abbreviations = 'Default' # Select the set of available time
> zone
> # abbreviations. Currently, there
> are
> # Default
> # Australia (historical usage)
> # India
> # You can create your own file in
> # share/timezonesets/.
> #extra_float_digits = 1 # min -15, max 3; any value >0
> actually
> # selects precise output mode
> #client_encoding = sql_ascii # actually, defaults to database
> # encoding
>
> # These settings are initialized by initdb, but they can be changed.
> lc_messages = 'en_US.utf8' # locale for system error
> message
> # strings
> lc_monetary = 'en_US.utf8' # locale for monetary
> formatting
> lc_numeric = 'en_US.utf8' # locale for number
> formatting
> lc_time = 'en_US.utf8' # locale for time
> formatting
>
> # default configuration for text search
> default_text_search_config = 'pg_catalog.english'
>
> # - Shared Library Preloading -
>
> #shared_preload_libraries = '' # (change requires restart)
> shared_preload_libraries = 'pg_stat_statements'
> pg_stat_statements.track = all
> #local_preload_libraries = ''
> #session_preload_libraries = ''
> #jit_provider = 'llvmjit' # JIT library to use
>
> # - Other Defaults -
>
> #dynamic_library_path = '$libdir'
>
>
>
> #------------------------------------------------------------------------------
> # LOCK MANAGEMENT
>
> #------------------------------------------------------------------------------
>
> #deadlock_timeout = 1s
> #max_locks_per_transaction = 64 # min 10
> # (change requires restart)
> #max_pred_locks_per_transaction = 64 # min 10
> # (change requires restart)
> #max_pred_locks_per_relation = -2 # negative values mean
> # (max_pred_locks_per_transaction
> # / -max_pred_locks_per_relation)
> - 1
> #max_pred_locks_per_page = 2 # min 0
>
>
>
> #------------------------------------------------------------------------------
> # VERSION AND PLATFORM COMPATIBILITY
>
> #------------------------------------------------------------------------------
>
> # - Previous PostgreSQL Versions -
>
> #array_nulls = on
> #backslash_quote = safe_encoding # on, off, or safe_encoding
> #escape_string_warning = on
> #lo_compat_privileges = off
> #operator_precedence_warning = off
> #quote_all_identifiers = off
> #standard_conforming_strings = on
> #synchronize_seqscans = on
>
> # - Other Platforms and Clients -
>
> #transform_null_equals = off
>
>
>
> #------------------------------------------------------------------------------
> # ERROR HANDLING
>
> #------------------------------------------------------------------------------
>
> #exit_on_error = off # terminate session on any error?
> #restart_after_crash = on # reinitialize after backend crash?
> #data_sync_retry = off # retry or panic on failure to
> fsync
> # data?
> # (change requires restart)
>
>
>
> #------------------------------------------------------------------------------
> # CONFIG FILE INCLUDES
>
> #------------------------------------------------------------------------------
>
> # These options allow settings to be loaded from files other than the
> # default postgresql.conf. Note that these are directives, not variable
> # assignments, so they can usefully be given more than once.
>
> #include_dir = '...' # include files ending in '.conf'
> from
> # a directory, e.g., 'conf.d'
> #include_if_exists = '...' # include file only if it exists
> #include = '...' # include file
>
>
>
> #------------------------------------------------------------------------------
> # CUSTOMIZED OPTIONS
>
> #------------------------------------------------------------------------------
>
> # Add settings for extensions here
>
>
>
> On Sunday, Oct 11, 2020 at 2:37 PM, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
> wrote:
>
>
> ne 11. 10. 2020 v 3:13 odesílatel Raphael Megzari <raphael(at)megzari(dot)com>
> napsal:
>
>> ok here is the backtrace that I got
>>
>> Let me know if you need anything else
>>
>
> please, can you install debug symbols for Postgres. In this backtrace is
> not detail information.
>
> It's strange so Postgres crashes in LWLockAttemptLock
>
> Maybe there is problem in
> https://github.com/postgres/postgres/commit/bb16aba50c9492490a0b57e600a932798f45cd4f
>
> Do you use serializable level of transaction isolations?
>
>
>
>
>> #0 0x0000556931d0ba55 in LWLockAttemptLock ()
>> #1 0x0000556931d0c537 in LWLockAcquire ()
>> #2 0x0000556931cefe83 in ReadBuffer_common ()
>> #3 0x0000556931cf0626 in ReadBufferExtended ()
>> #4 0x0000556931a8c9b0 in heapgetpage ()
>> #5 0x0000556931a8cf09 in heapgettup_pagemode ()
>> #6 0x0000556931a8de3e in heap_getnextslot ()
>> #7 0x0000556931bf27fe in SeqNext ()
>> #8 0x0000556931bd15b7 in ExecScan ()
>> #9 0x0000556931bf115f in ExecNestLoop ()
>> #10 0x0000556931bf115f in ExecNestLoop ()
>> #11 0x0000556931be1147 in ExecGather ()
>> #12 0x0000556931bc8a2b in standard_ExecutorRun ()
>> #13 0x00007f10dcb8d345 in pgss_ExecutorRun () from
>> /usr/local/lib/postgresql/pg_stat_statements.so
>> #14 0x0000556931d1e41c in PortalRunSelect ()
>> #15 0x0000556931d1f5d6 in PortalRun ()
>> #16 0x0000556931d1cb58 in PostgresMain ()
>> #17 0x0000556931caa3d7 in ServerLoop ()
>> #18 0x0000556931cab333 in PostmasterMain ()
>> #19 0x0000556931a4db7c in main ()
>>
>>
>>
>>
>> On Saturday, Oct 10, 2020 at 11:57 PM, Pavel Stehule <
>> pavel(dot)stehule(at)gmail(dot)com> wrote:
>>
>>
>> so 10. 10. 2020 v 16:51 odesílatel Raphael Megzari <raphael(at)megzari(dot)com>
>> napsal:
>>
>>> I'm not really sure how to read that binary file.
>>>
>>> I have uploaded to an s3 bucket and made it public.
>>> Anyone should be able to access that file
>>> *https://s3.eu-central-1.wasabisys.com/union-backups/core_dump.gz
>>> <https://s3.eu-central-1.wasabisys.com/union-backups/core_dump.gz>*
>>>
>>
>> this is not good idea
>>
>> see https://stackoverflow.com/questions/5115613/core-dump-file-analysis
>>
>> Pavel
>>
>>
>>>
>>> it's 2GB
>>>
>>> If you have a link to a documentation of how I can read that file and
>>> get the stacktrace, I would be glad to give it a read.
>>>
>>>
>>>
>>> On Saturday, Oct 10, 2020 at 8:56 PM, Pavel Stehule <
>>> pavel(dot)stehule(at)gmail(dot)com> wrote:
>>>
>>>
>>> so 10. 10. 2020 v 13:27 odesílatel Raphael Megzari <raphael(at)megzari(dot)com>
>>> napsal:
>>>
>>>> Awesome, thank you!
>>>> It's the right thing.
>>>>
>>>> How do I share it?
>>>>
>>>
>>> important is the backtrace
>>>
>>> paste it to mail
>>>
>>>
>>>
>>>>
>>>>
>>>> On Saturday, Oct 10, 2020 at 8:24 PM, Pavel Stehule <
>>>> pavel(dot)stehule(at)gmail(dot)com> wrote:
>>>>
>>>>
>>>> so 10. 10. 2020 v 13:19 odesílatel Raphael Megzari <raphael(at)megzari(dot)com>
>>>> napsal:
>>>>
>>>>> Thank you for taking the time to have a look.
>>>>>
>>>>> I'm not sure how to enable core dump with the docker image.
>>>>>
>>>>> I've seen some documentation where the db is started with pg_ctl anc a
>>>>> "c" flag. I couldn't find anything on enabling it on the docker image.
>>>>>
>>>>> in my data folder, I have a huge core file (8 GB). Would it be
>>>>> possible that it is the core dump file generated after the segfault?
>>>>>
>>>>
>>>> you can check a create time
>>>>
>>>> Pavel
>>>>
>>>>
>>>>> Raphael
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Saturday, Oct 10, 2020 at 6:04 PM, Pavel Stehule <
>>>>> pavel(dot)stehule(at)gmail(dot)com> wrote:
>>>>> Hi
>>>>>
>>>>>
>>>>>> If I can help in any ways, please let me know.
>>>>>> I don't mind trying things, like I said, the bug happens about every 2
>>>>>> days.
>>>>>>
>>>>>
>>>>> This is a bug, but from your bug report isn't possible to detect any
>>>>> information.
>>>>>
>>>>> Can you enable core dump generating, and can you send a core dump?
>>>>>
>>>>> Regards
>>>>>
>>>>> Pavel
>>>>>
>>>>>>
>>>>>> Cheers!
>>>>>>
>>>>>>

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Michael Paquier 2020-10-12 01:01:08 Re: BUG #15858: could not stat file - over 4GB
Previous Message Raphael Megzari 2020-10-11 06:54:29 Re: BUG #16665: Segmentation fault