On 2020-Feb-10, Andres Freund wrote: > Have you considered postmaster (or even just the GUC processing in each > process) adjusting /proc/self/coredump_filter instead? > > From the man page: > > The value in the file is a bit mask of memory mapping types (see > mmap(2)). If a bit is set in the mask, then memory mappings of the > corresponding > type are dumped; otherwise they are not dumped. The bits in this file > have the following meanings: > > bit 0 Dump anonymous private mappings. > bit 1 Dump anonymous shared mappings. > bit 2 Dump file-backed private mappings. > bit 3 Dump file-backed shared mappings. > bit 4 (since Linux 2.6.24) > Dump ELF headers. > bit 5 (since Linux 2.6.28) > Dump private huge pages. > bit 6 (since Linux 2.6.28) > Dump shared huge pages. > bit 7 (since Linux 4.4) > Dump private DAX pages. > bit 8 (since Linux 4.4) > Dump shared DAX pages. > > You can also incorporate this into the start script for postgres today.
Yeah. Maybe we should file bug reports against downstream packages to include a corefilter tweak. My development helper script uses this runpg_corefilter() { pid=$(head -1 $PGDATADIR/postmaster.pid) if [ ! -z "$pid" ]; then echo 0x01 > /proc/$pid/coredump_filter fi } I don't know how easy is it to teach systemd to do this on its service files. FWIW I've heard that some people like to have shmem in core files to improve debuggability, but it's *very* infrequent. But maybe we should have a way to disable the corefiltering. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services