sql >> Database >  >> RDS >> PostgreSQL

pg_dump met gebruiker dont superadmin en grote objecten

Het document voor lo_compat_privileges legt de situatie uit:

Merk op dat dit per database kan worden ingesteld met:

ALTER DATABASE dbname SET lo_compat_privileges=on;

Wanneer lo_compat_privileges is ingesteld op de standaard OFF , is de toegang niet beperkt tot superusers, maar gecontroleerd. Elk groot object heeft een eigenaar en die eigenaar heeft alle rechten. Leesrechten kunnen voor elk groot object tegelijk worden gegeven (door eigenaar of supergebruiker) met:

GRANT SELECT ON LARGE OBJECT loid TO rolename;

waar rolename kan ook PUBLIC zijn om "iedereen" te betekenen, zie GRANT voor de details.

Aan de andere kant denk ik niet dat het mogelijk is om machtigingen in te stellen voor alle grote objecten van een database met een enkele opdracht, of van tevoren voor nog niet bestaande inhoud, aangezien ALTER DEFAULT PRIVILEGES heeft geen ondersteuning voor grote objecten, en zoals je opmerkt, zijn triggers geen optie.

Een niet-supergebruiker die SELECT-machtigingen heeft voor alle grote objecten van een database, kan deze database zonder fouten pg_dumpen.




  1. hark afgebroken! niet-geïnitialiseerde constante Mysql2

  2. SQL:Wat is beter een bit of een char(1)

  3. ORA-06508:PL/SQL:kon de aangeroepen programma-eenheid niet vinden

  4. Applicatiegebruikers versus beveiliging op rijniveau