sql >> Database teknologi >  >> RDS >> PostgreSQL

pg_dump med brugeren dont superadmin og store objekter

Dokumentet til lo_compat_privileges forklarer situationen:

Bemærk, at dette kan indstilles pr. database med:

ALTER DATABASE dbname SET lo_compat_privileges=on;

Når lo_compat_privileges er indstillet til standard OFF , adgang er ikke begrænset til superbrugere, men kontrolleret. Hvert stort objekt har en ejer, og denne ejer har fulde rettigheder. Læsetilladelser kan gives for hvert stort objekt ad gangen (af ejer eller superbruger) med :

GRANT SELECT ON LARGE OBJECT loid TO rolename;

hvor rolename kan også være PUBLIC for at betyde "alle", se GRANT for detaljerne.

På den anden side tror jeg ikke det er muligt at sætte tilladelser på alle store objekter i en database med en enkelt kommando eller på forhånd på endnu ikke eksisterende indhold, da ALTER DEFAULT PRIVILEGES har ingen understøttelse af store objekter, og som du bemærker, er triggere ikke en mulighed.

En ikke-superbruger, der har SELECT-tilladelser på alle de store objekter i en database, kan pg_dumpe denne database uden fejl.




  1. Hvorfor skalerer NoSql-databaser bedre end relationelle databaser? Hvordan skal jeg vælge mellem dem?

  2. Oprettelse af en tabel i enkeltbrugertilstand i postgres

  3. MYSQL adgangskontrol

  4. MySQL Auto Increment Custom Value