PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

pg_dump com usuário não superadmin e objetos grandes


O documento para lo_compat_privileges explica a situação:

Observe que isso pode ser definido por banco de dados com:
ALTER DATABASE dbname SET lo_compat_privileges=on;

Quando lo_compat_privileges está definido para o padrão OFF , o acesso não é limitado a superusuários, mas controlado. Cada objeto grande tem um proprietário e esse proprietário tem direitos totais. As permissões de leitura podem ser concedidas para cada objeto grande de cada vez (pelo proprietário ou superusuário) com:
GRANT SELECT ON LARGE OBJECT loid TO rolename;

onde rolename também pode ser PUBLIC para significar "todos", veja GRANT para os detalhes.

Por outro lado, não acho que seja possível definir permissões em todos os objetos grandes de um banco de dados com um único comando, ou antecipadamente em conteúdos ainda não existentes, pois ALTER DEFAULT PRIVILEGES não tem suporte para objetos grandes e, como você observa, os gatilhos não são uma opção.

Um não superusuário que tenha permissões SELECT em todos os objetos grandes de um banco de dados pode pg_dump nesse banco de dados sem erros.