Il documento per lo_compat_privileges
spiega la situazione:
Nota che questo può essere impostato per database con:
ALTER DATABASE dbname SET lo_compat_privileges=on;
Quando lo_compat_privileges
è impostato sul valore predefinito OFF
, l'accesso non è limitato ai superutenti, ma controllato. Ogni oggetto di grandi dimensioni ha un proprietario e quel proprietario ha pieni diritti. Le autorizzazioni di lettura possono essere fornite per ogni oggetto di grandi dimensioni alla volta (dal proprietario o dal superutente) con :
GRANT SELECT ON LARGE OBJECT loid TO rolename;
dove rolename
può anche essere PUBLIC
per significare "tutti", vedere GRANT
per i dettagli.
D'altra parte, non credo sia possibile impostare i permessi su tutti gli oggetti di grandi dimensioni di un database con un solo comando, o in anticipo su contenuti non ancora esistenti, poiché ALTER DEFAULT PRIVILEGES
non supporta oggetti di grandi dimensioni e, come noti, i trigger non sono un'opzione.
Un non superutente che ha i permessi SELECT su tutti gli oggetti di grandi dimensioni di un database può pg_dump questo database senza errori.