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:49] – [GRANT Statement] 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; | postgres=# CREATE ROLE discourse2; | ||
CREATE ROLE | CREATE ROLE | ||
Zeile 91: | Zeile 102: | ||
</ | </ | ||
+ | |||
==== GRANT Statement ==== | ==== GRANT Statement ==== | ||
nur login | nur login | ||
- | < | + | < |
+ | ALTER ROLE discourse2 LOGIN; | ||
</ | </ | ||
Zeile 125: | 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 196: | Zeile 251: | ||
</ | </ | ||
- | |||
- | ====== Alte Daten löschen ====== | ||
- | |||
- | Datenbank | ||
- | |||
- | < | ||
- | drop DATABASE onlyoffice; | ||
- | |||
- | </ | ||
- | |||
===== Templates und UTF8 encoding ===== | ===== Templates und UTF8 encoding ===== |