Showing debug messages in my C function

Поиск
Список
Период
Сортировка
От Jorge Arevalo
Тема Showing debug messages in my C function
Дата
Msg-id n2jd321138e1004121112ub021fcduf57be2a54fe66910@mail.gmail.com
обсуждение исходный текст
Ответы Re: Showing debug messages in my C function  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
Hello,

I'm sorry, because this may be a simple question: I'm programming a C
function that returns a set (PostgreSQL 8.4). The function crash, and
I'm trying to
debug it. I've read:

http://www.postgresql.org/docs/8.4/interactive/xfunc-c.html
http://www.postgresql.org/docs/8.4/interactive/error-message-reporting.html
http://www.postgresql.org/docs/current/static/runtime-config-logging.html

but I can't see any of my log messages. I'm using lines like this:

ereport(WARNING,(errcode(ERRCODE_WARNING), errmsg("This is a warning
message")));

or even simpler

elog(WARNING, "This is a warning message");

I've changed the level from WARNING to ERROR, and it doesn't work. A
log file is created, and when I start server, stop it, run a query... I can
see the messages logged by the server, but not my own messages, raised
with ereport or elog.

What's happening? This is the log part of my postgresql.conf

#------------------------------------------------------------------------------
# ERROR 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 = on        # 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 = 'pg_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_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
                    # 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'

#silent_mode = off            # Run server silently.
                    # DO NOT USE without syslog or
                    # logging_collector
                    # (change requires restart)


# - 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 = debug5        # values in order of decreasing detail:
                    #   debug5
                    #   debug4
                    #   debug3
                    #   debug2
                    #   debug1
                    #   info
                    #   notice
                    #   warning
                    #   error
                    #   log
                    #   fatal
                    #   panic

log_error_verbosity = verbose        # terse, default, or verbose messages

log_min_error_statement = debug5    # values in order of decreasing detail:
                     #   debug5
                    #   debug4
                    #   debug3
                    #   debug2
                    #   debug1
                     #   info
                    #   notice
                    #   warning
                    #   error
                    #   log
                    #   fatal
                    #   panic (effectively off)

log_min_duration_statement = 0        # -1 is disabled, 0 logs all statements
                    # and their durations, > 0 logs only
                    # statements running at least this number
                    # of milliseconds


# - What to Log -

debug_print_parse = on
debug_print_rewritten = on
debug_print_plan = on
debug_pretty_print = on
#log_checkpoints = off
#log_connections = off
#log_disconnections = off
log_duration = on
#log_hostname = off
log_line_prefix = '%t '            # special values:
                    #   %u = user name
                    #   %d = database name
                    #   %r = remote host and port
                    #   %h = remote host
                    #   %p = process ID
                    #   %t = timestamp without milliseconds
                    #   %m = timestamp with milliseconds
                    #   %i = command tag
                    #   %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_statement = 'all'            # none, ddl, mod, all
#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 = unknown            # actually, defaults to TZ environment
                    # setting


Thanks in advance, and best regards
Jorge

В списке pgsql-general по дате отправления:

Предыдущее
От: Birgit Laggner
Дата:
Сообщение: Re: transaction control in pl/pgsql
Следующее
От: A B
Дата:
Сообщение: Need some help with a query (uniq -c)