I have a few questions about the following ext4 mount parameters:

`data=writeback`
`commit=n`
`barrier=0`

With regards to `data=writeback`:

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


Reply via email to