I have a few questions about the following ext4 mount parameters: `data=""> `commit=n` `barrier=0` With regards to `data=""> Is it safe for pg_wal? Is it safe for the main data dir? (and if not in general, is it safe for the main data dir as long as pg_wal is ordered?) With regards to `commit=n`: My understanding is that this should barely affect postgresql at all since it issues its own syncs whenever necessary, So it should be “safe” to set this to basically anything on both the data dir and pg_wal, right? With regards to `barrier=0`: I understand that this is unsafe in general without a battery backed disk cache, but is it safe as long as pg_wal is consistent? And of course, why or why not would be super helpful.
Additionally, it should be perfectly safe to set these super “loose” on
pgsql_tmp, even disabling journaling altogether correct? And finally, is it safe to replace pgsql_tmp with a symlink? I’ve seen conflicting answers on this (namely that it might be “automatically cleaned up by postgres” and thus cause unexpected failures
down the line). The alternative is using temp_tablespaces, but I don’t like that because of the possibility of accidentally storing supposed-to-persist data there (hopefully our hacker heroes will add fully temp tablespaces in the near future
😊 ).
Thanks in advance! It’s been really tricky finding reliable reasoned answers to these questions.
Best, Casey Meijer |