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 [11/05/2025 - 16:46] (aktuell) – thommie_netzwissen.de | ||
---|---|---|---|
Zeile 23: | Zeile 23: | ||
* \d und \d+ zeigt die Spalten einer Tabelle | * \d und \d+ zeigt die Spalten einer Tabelle | ||
* \du Benutzerrollen | * \du Benutzerrollen | ||
+ | |||
+ | ===== Datenbank und User anlegen ===== | ||
+ | |||
+ | < | ||
+ | create database sqlmail; | ||
+ | |||
+ | create user sqlmail with encrypted password ' | ||
+ | |||
+ | grant all privileges on database sqlmail to sqlmail; | ||
+ | |||
+ | </ | ||
===== Datenbank duplizieren ===== | ===== Datenbank duplizieren ===== | ||
Zeile 29: | Zeile 40: | ||
< | < | ||
- | < | + | SELECT usename, datname, state FROM pg_stat_activity WHERE usename=' |
</ | </ | ||
- | 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 57: | Zeile 68: | ||
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": |
< | < | ||
Zeile 77: | Zeile 88: | ||
neuen User anlegen (" | neuen User anlegen (" | ||
+ | < | ||
- | < | + | postgres=# CREATE ROLE discourse2; |
CREATE ROLE | CREATE ROLE | ||
postgres=# | postgres=# | ||
Zeile 91: | Zeile 103: | ||
</ | </ | ||
- | 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 138: | ||
</ | </ | ||
+ | ===== 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 251: | ||
</ | </ | ||
- | |||
- | ====== Alte Daten löschen ====== | ||
- | |||
- | Datenbank | ||
- | |||
- | < | ||
- | drop DATABASE onlyoffice; | ||
- | |||
- | </ | ||
- | |||
===== Templates und UTF8 encoding ===== | ===== Templates und UTF8 encoding ===== |