Angenommen, Benutzer foo besitzt eine Datenbank gee, und Benutzer foo hat der Benutzerleiste alle Zugriffsrechte für Datenbank gee erteilt
gee=> \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
gee | foo | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =Tc/foo +
| | | | | foo=CTc/foo +
| | | | | bar=CTc/foo
Wir sichern diese Datenbank,
$ pg_dump -U foo -v -f gee.dump gee
In der Datenbank hat die Benutzerleiste ein Schema erstellt. Da alle diese Benutzer die Datenbank als Benutzer-Postgres wiederherstellen (nachdem Benutzer foo eine Datenbank erstellt hat),
$ sudo -u postgres psql -d goo -f gee.dump
Die Benutzerleiste verfügt nicht über die Zugriffsrechte für die Datenbank goo. In der Datenbank goo ist jedoch jedes Privileg für alle Benutzer in Bezug auf Schemas und Tabellen in Ordnung.
goo=> \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
goo | foo | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
Warum werden die Zugriffsrechte für die Datenbank selbst nicht wiederhergestellt?
postgresql
backup
permissions
pg-dump
ericj
quelle
quelle
Antworten:
Es ist ein Fehler oder ein Design-Versehen . Der Antwortende auf diesen Bericht glaubt dies jedoch nicht.
pg_dumpall --globals-only
speichert keine Rechte in der Datenbank. Auch nichtpg_dump
als Teil des Datenbank-Dumps.Zuschüsse für Datenbanken werden also nur in einer vollständigen Liste enthalten
pg_dumpall
.Ich werde ein bisschen Lärm machen, indem ich diesen Thread stochere .
quelle