In PostgreSQL 10 - when using an "owner user" (login role owning a schema and all tables, not used by the application at runtime) and a "runtime" user I can GRANT Select/Update/Delete permissions on all existing tables in the schema to the runtime user:
GRANT SELECT ON ALL TABLES IN SCHEMA owner TO runtime;
But this only applies to existing objects and not new tables which might get created later on.
Is there a way to avoid granting on all new objects by way of inheriting roles or schema permissions or similar?
FOR target_userclause incorrectly. Details: https://www.postgresql.org/message-id/flat/CA%2BOCxow_xcQJiLj0-WVfX-yg-J5FA8wi7Z-LaWjampqpeVVA-Q%40mail.gmail.com#64cc3c9a1d2816db7b0fc7dc2223bd93 You are not the first to be confused by this. :) – Erwin Brandstetter Aug 03 '18 at 14:28