postgresql/src/include
Stephen Frost 6c3ffd697e Add pg_read_all_data and pg_write_all_data roles
A commonly requested use-case is to have a role who can run an
unfettered pg_dump without having to explicitly GRANT that user access
to all tables, schemas, et al, without that role being a superuser.
This address that by adding a "pg_read_all_data" role which implicitly
gives any member of this role SELECT rights on all tables, views and
sequences, and USAGE rights on all schemas.

As there may be cases where it's also useful to have a role who has
write access to all objects, pg_write_all_data is also introduced and
gives users implicit INSERT, UPDATE and DELETE rights on all tables,
views and sequences.

These roles can not be logged into directly but instead should be
GRANT'd to a role which is able to log in.  As noted in the
documentation, if RLS is being used then an administrator may (or may
not) wish to set BYPASSRLS on the login role which these predefined
roles are GRANT'd to.

Reviewed-by: Georgios Kokolatos
Discussion: https://postgr.es/m/20200828003023.GU29590@tamriel.snowman.net
2021-04-05 13:42:52 -04:00
..
access Fix confusion in SP-GiST between attribute type and leaf storage type. 2021-04-04 14:28:57 -04:00
bootstrap Update copyright for 2021 2021-01-02 13:06:25 -05:00
catalog Add pg_read_all_data and pg_write_all_data roles 2021-04-05 13:42:52 -04:00
commands Split backend status and progress related functionality out of pgstat.c. 2021-04-03 11:42:52 -07:00
common Refactor HMAC implementations 2021-04-03 17:30:49 +09:00
datatype Update copyright for 2021 2021-01-02 13:06:25 -05:00
executor Add Result Cache executor node (take 2) 2021-04-02 14:10:56 +13:00
fe_utils Refactor and generalize the ParallelSlot machinery. 2021-03-11 13:17:46 -05:00
foreign Rework planning and execution of UPDATE and DELETE. 2021-03-31 11:52:37 -04:00
jit Update copyright for 2021 2021-01-02 13:06:25 -05:00
lib Add Result Cache executor node (take 2) 2021-04-02 14:10:56 +13:00
libpq Detect POLLHUP/POLLRDHUP while running queries. 2021-04-03 09:02:41 +13:00
mb Do COPY FROM encoding conversion/verification in larger chunks. 2021-04-01 12:23:40 +03:00
nodes Renumber cursor option flags 2021-04-05 09:10:27 +02:00
optimizer Add Result Cache executor node (take 2) 2021-04-02 14:10:56 +13:00
parser Allow an alias to be attached to a JOIN ... USING 2021-03-31 17:10:50 +02:00
partitioning ALTER TABLE ... DETACH PARTITION ... CONCURRENTLY 2021-03-25 18:00:28 -03:00
port Add missing pthread_barrier_t. 2021-03-10 17:44:04 +13:00
portability Fix another portability bug in recent pgbench commit. 2021-03-10 23:20:41 +13:00
postmaster Remove temporary files after backend crash 2021-03-18 17:38:28 +01:00
regex Improve memory management in regex compiler. 2021-02-26 13:52:10 -05:00
replication Add a xid argument to the filter_prepare callback for output plugins. 2021-03-30 10:34:43 +05:30
rewrite Rework planning and execution of UPDATE and DELETE. 2021-03-31 11:52:37 -04:00
snowball Update snowball 2021-02-19 08:10:15 +01:00
statistics Extended statistics on expressions 2021-03-27 00:01:11 +01:00
storage Add support for asynchronous execution. 2021-03-31 18:45:00 +09:00
tcop Detect POLLHUP/POLLRDHUP while running queries. 2021-04-03 09:02:41 +13:00
tsearch Don't leak compiled regex(es) when an ispell cache entry is dropped. 2021-03-18 22:22:47 -04:00
utils Improve efficiency of wait event reporting, remove proc.h dependency. 2021-04-03 12:03:45 -07:00
.gitignore Refactor dlopen() support 2018-09-06 11:33:04 +02:00
c.h Work around issues in MinGW-64's setjmp/longjmp support. 2021-03-15 12:34:17 -04:00
fmgr.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
funcapi.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
getaddrinfo.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
getopt_long.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
Makefile Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
miscadmin.h Detect POLLHUP/POLLRDHUP while running queries. 2021-04-03 09:02:41 +13:00
pg_config.h.in Refactor HMAC implementations 2021-04-03 17:30:49 +09:00
pg_config_ext.h.in Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
pg_config_manual.h Fix concurrency issues with WAL segment recycling on Windows 2021-03-22 14:02:26 +09:00
pg_getopt.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_trace.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
pgstat.h Split backend status and progress related functionality out of pgstat.c. 2021-04-03 11:42:52 -07:00
pgtar.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
pgtime.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
port.h Move bsearch_arg to src/port 2021-03-23 00:11:22 +01:00
postgres.h Mostly-cosmetic adjustments of TOAST-related macros. 2021-03-22 13:43:10 -04:00
postgres_ext.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
postgres_fe.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
rusagestub.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
windowapi.h Update copyright for 2021 2021-01-02 13:06:25 -05:00