Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
postgres [18/04/2025 - 10:40] – [Benutzeraktionen] admin | postgres [24/04/2025 - 10:51] (aktuell) – [Datenbank duplizieren] thommie_netzwissen.de | ||
---|---|---|---|
Zeile 28: | Zeile 28: | ||
WER greift gerade auf die DB zu? | WER greift gerade auf die DB zu? | ||
- | <code> | + | < |
- | < | + | |
</ | </ | ||
- | zuerst alle aktiven Verbindungen trennen | + | Alle aktiven Verbindungen |
< | < | ||
SELECT pg_terminate_backend(pid) | SELECT pg_terminate_backend(pid) | ||
FROM pg_stat_activity | FROM pg_stat_activity | ||
- | WHERE datname = 'discourse' AND leader_pid IS NULL; | + | WHERE datname = 'discourse2' AND leader_pid IS NULL; |
</ | </ | ||
Zeile 48: | Zeile 47: | ||
</ | </ | ||
+ | |||
===== Schemata ===== | ===== Schemata ===== | ||
Zeile 57: | Zeile 57: | ||
dt listet alle Tabellen in einer Datenbank auf | dt listet alle Tabellen in einer Datenbank auf | ||
- | Alle Tabellen in einer DB löschen | + | Nach "\c discourse2": |
- | < | + | |
+ | < | ||
DO $$ DECLARE | DO $$ DECLARE | ||
r RECORD; | r RECORD; | ||
Zeile 71: | Zeile 71: | ||
q beendet die Verbindung | q beendet die Verbindung | ||
+ | |||
===== Benutzeraktionen ===== | ===== Benutzeraktionen ===== | ||
Zeile 77: | Zeile 78: | ||
neuen User anlegen (" | neuen User anlegen (" | ||
+ | < | ||
- | < | + | postgres=# CREATE ROLE discourse2; |
CREATE ROLE | CREATE ROLE | ||
postgres=# | postgres=# | ||
Zeile 91: | Zeile 93: | ||
</ | </ | ||
- | Zugriffsrechte auf eine Datenbank erteilen | + | ==== GRANT Statement ==== |
+ | |||
+ | nur login | ||
< | < | ||
+ | ALTER ROLE discourse2 LOGIN; | ||
+ | |||
+ | </ | ||
+ | |||
+ | Weitere Privilegien: | ||
+ | |||
+ | < | ||
+ | GRANT privilege_list | ALL | ||
+ | ON table_name | ||
+ | TO role_name; | ||
+ | |||
+ | </ | ||
+ | |||
+ | privilege_list kann '' | ||
+ | < | ||
+ | |||
GRANT ALL ON DATABASE [dbname] TO [username]; | GRANT ALL ON DATABASE [dbname] TO [username]; | ||
Zeile 108: | Zeile 128: | ||
</ | </ | ||
+ | ===== Tabellen-Aktionen ===== | ||
+ | |||
+ | Alle Tabellen löschen | ||
+ | |||
+ | < | ||
+ | DO $$ | ||
+ | DECLARE | ||
+ | r RECORD; | ||
+ | BEGIN | ||
+ | FOR r IN (SELECT tablename FROM pg_tables WHERE schemaname = ' | ||
+ | | ||
+ | END LOOP; | ||
+ | END $$; | ||
+ | |||
+ | </ | ||
+ | |||
+ | check | ||
+ | < | ||
+ | |||
+ | SELECT tablename FROM pg_tables WHERE schemaname = ' | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== Daten-Aktionen ===== | ||
+ | |||
+ | < | ||
+ | do $$ declare | ||
+ | r record; | ||
+ | begin | ||
+ | for r in (select tablename from pg_tables where schemaname = ' | ||
+ | | ||
+ | end loop; | ||
+ | end $$; | ||
+ | |||
+ | </ | ||
+ | |||
+ | Komplette Datenbank löschen | ||
+ | < | ||
+ | |||
+ | drop DATABASE onlyoffice; | ||
+ | |||
+ | </ | ||
===== Historie der Kommandos in psql ===== | ===== Historie der Kommandos in psql ===== | ||
Zeile 179: | Zeile 241: | ||
</ | </ | ||
- | |||
- | ====== Alte Daten löschen ====== | ||
- | |||
- | Datenbank | ||
- | |||
- | < | ||
- | drop DATABASE onlyoffice; | ||
- | |||
- | </ | ||
- | |||
===== Templates und UTF8 encoding ===== | ===== Templates und UTF8 encoding ===== |