Re: PATCH: Configurable file mode mask
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Stephen Frost <sfrost@snowman.net>
Cc: David Steele <david@pgmasters.net>, Tom Lane <tgl@sss.pgh.pa.us>, Peter Eisentraut <peter.eisentraut@2ndquadrant.com>, Alvaro Herrera <alvherre@alvh.no-ip.org>, Adam Brightwell <adam.brightwell@crunchydata.com>, Robert Haas <robertmhaas@gmail.com>, "Tsunakawa, Takayuki" <tsunakawa.takay@jp.fujitsu.com>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2018-03-21T03:14:47Z
Lists: pgsql-hackers
On Tue, Mar 20, 2018 at 05:44:22PM -0400, Stephen Frost wrote: > * David Steele (david@pgmasters.net) wrote: >> On 3/16/18 11:12 AM, Stephen Frost wrote: >> It seems to me that pg_basebackup and pg_receivexlog should have a -g >> option to control the mode of the files that they write to disk (not >> including the modes stored in the tar files). >> >> Or perhaps we should just update the perms in the tar files for now and >> leave the rest alone. > > Having options to pg_basebackup to control what's done makes sense to > me- but whatever those options do, I'd expect them to apply equally to > the tar files and to the files extracted with plain mode. Having those > be different really strikes me as very odd. Agreed for the consistency part, permissions should be applied consistently for the folder and the tar format. Having the option for pg_receivewal definitely makes sense to me, as it is the one in charge of opening and writing the WAL segments. For pg_basebackup, let's not forget that there is one tar file for each tablespace, and that each file is received separately using a COPY stream. There is some logic already which parses the tar header part of an individual file in order to look for recovery.conf (see ReceiveTarFile() in pg_basebackup.c). It would be possible to enforce grouping permissions when receiving each file, and this would be rather low-cost in performance I think. Honestly, my vote would go for having the permissions set correctly by the source server as this brings consistency to the whole experience without complicating the interface of pg_basebackup, and this also makes the footprint of this patch on pg_basebackup way lighter. -- Michael
Commits
-
Allow group access on PGDATA
- c37b3d08ca68 11.0 landed
-
Refactor dir/file permissions
- da9b580d8990 11.0 landed
-
Revert "Add basic TAP test setup for pg_upgrade"
- 58ffe141eb37 11.0 cited
-
Add basic TAP test setup for pg_upgrade
- f41e56c76e39 11.0 cited