Re: current_logfiles not following group access and instead follows log_file_mode permissions
Haribabu Kommi <kommi.haribabu@gmail.com>
From: Haribabu Kommi <kommi.haribabu@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Stephen Frost <sfrost@snowman.net>, Tom Lane <tgl@sss.pgh.pa.us>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Gilles Darold <gilles.darold@dalibo.com>
Date: 2019-03-25T07:19:08Z
Lists: pgsql-hackers
On Sun, Mar 24, 2019 at 11:16 PM Michael Paquier <michael@paquier.xyz> wrote: > On Fri, Mar 22, 2019 at 01:01:44PM +0900, Michael Paquier wrote: > > On Fri, Mar 22, 2019 at 02:35:41PM +1100, Haribabu Kommi wrote: > > > Thanks for the correction. Yes, that is correct and it works fine. > > > > Thanks for double-checking. Are there any objections with this patch? > > Done and committed down to v11 where group access has been added. > There could be an argument to do the same in v10, but as the root of > the problem is the interaction between a data folder using 0640 as > base mode for files and log_file_mode being more restrictive, then it > cannot apply to v10. > > After testing and reviewing the patch, I noticed that all versions > sent up to now missed two things done by logfile_open(): > - Bufferring is line-buffered. For current_logfiles it may not matter > much as the contents are first written into a temporary file and then > the file is renamed, but for debugging having the insurance of > consistent contents is nice even for the temporary file. > - current_logfiles uses \r\n. While it does not have a consequence > for the parsing of the file by pg_current_logfile, it breaks the > readability of the file on Windows, which is not nice. > So I have kept the patch with the previous defaults for consistency. > Perhaps they could be changed, but the current set is a good set. > Thanks Micheal and others. This really helps to choose the restrictive log file permissions even when the data directory is enabled with group access. Regards, Haribabu Kommi Fujitsu Australia
Commits
-
Make current_logfiles use permissions assigned to files in data directory
- 7d7435c5c505 11.3 landed
- 276d2e6c2d81 12.0 landed