questions about the logical decoding implementation

Jeff Davis <pgsql@j-davis.com>

From: Jeff Davis <pgsql@j-davis.com>
To: PostgreSQL-development <pgsql-hackers@postgresql.org>
Cc: Andres Freund <andres@anarazel.de>
Date: 2018-08-15T19:04:12Z
Lists: pgsql-hackers
1. Why do the files holding the spilled transaction data in reorderbuffer.c
have a ".snap" suffix?

2. Those files can get quite large. Would it be reasonable to store them in
another directory (e.g. pg_replslot_tmp) so that they can be placed on
another mount point? It would also simplify the cleanup code.

3. Why are the files in pg_logical/snapshots (which also have a ".snap"
extension) stored on disk at all? If I remove them and restart, they get
recreated during decoding. The code adds a fair amount of complexity so I
assume there's an important reason.

Regards,
    Jeff Davis

Commits

  1. Change extension of spilled ReorderBufferChange data to ".tmp".