Benjamin Smith <lists@benjamindsmith.com> writes:
> What's the best way to do this? Take PG down (normally started as a service)
> and run directly in a single-user mode?
No, just start a psql session in one window, then in another window
determine the PID of the backend process it's connected to, and attach
gdb to that process. Something like
ps auxww | grep postgres:
... eyeball determination of correct PID ...
gdb /path/to/postgres-executable PID
gdb> continue
Now, in the psql window, do what's needed to provoke the crash. gdb
should trap at the instant of the segfault and give you another gdb>
prompt. Type "bt" to get the backtrace, then "q" to disconnect.
regards, tom lane