Re: Proposing pg_hibernate

Josh Kupershmidt <schmiddy@gmail.com>

From: Josh Kupershmidt <schmiddy@gmail.com>
To: Gurjeet Singh <gurjeet@singh.im>
Cc: PGSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2014-05-30T21:33:26Z
Lists: pgsql-hackers
On Tue, May 27, 2014 at 10:01 PM, Gurjeet Singh <gurjeet@singh.im> wrote:

> When the Postgres server is being stopped/shut down, the `Buffer
> Saver` scans the
> shared-buffers of Postgres, and stores the unique block identifiers of
> each cached
> block to the disk. This information is saved under the `$PGDATA/pg_hibernator/`
> directory. For each of the database whose blocks are resident in shared buffers,
> one file is created; for eg.: `$PGDATA/pg_hibernator/2.postgres.save`.

This file-naming convention seems a bit fragile. For example, on my
filesystem (HFS) if I create a database named "foo / bar", I'll get a
complaint like:

ERROR:  could not open "pg_hibernator/5.foo / bar.save": No such file
or directory

during shutdown.

Josh