On 07/16/2018 04:54 AM, Stephen Frost wrote:
Greetings,
* Tom Lane (t...@sss.pgh.pa.us) wrote:
I think that the right basic idea is to have a GUC that chooses between
the two implementations, but whether it can be set automatically is not
clear to me. Can initdb perhaps investigate what kind of filesystem the
WAL directory is sitting on, and set the default value from hard-wired
knowledge about that?
Maybe.. but I think we'd still need a way to change it because people
often start with their database system minimally configured (including
having WAL in the default location of the data directory) and only later
realize that was a bad idea and change it later. I wouldn't be at all
surprised if that "change it later" meant moving it to a different
filesystem, and having to re-initdb to take advantage of that would be
particularly unfriendly.
I'm not sure the detection can be made sufficiently reliable for initdb.
For example, it's not that uncommon to do initdb and then move the WAL
to a different filesystem using symlink. Also, I wonder how placing the
filesystem on LVM with snapshotting (which kinda makes it CoW) affects
the system behavior.
But maybe those are not issues, as long as the result is predictable.
regards
--
Tomas Vondra http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services