postgres

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
postgres [18/04/2025 - 10:49] – [GRANT Statement] adminpostgres [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+<code>SELECT usename, datname, state FROM pg_stat_activity WHERE usename='discourse2';
- <font inherit/monospace;;inherit;;#000000background-color:#ffffff;>SELECT usename, datname, state FROM pg_stat_activity WHERE usename='discourse'</font>+
  
 </code> </code>
  
-zuerst alle aktiven Verbindungen trennen+Alle aktiven Verbindungen zu dieser DB trennen
  
 <code> <code>
 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;
  
 </code> </code>
Zeile 48: Zeile 47:
  
 </code> </code>
 +
  
 ===== 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": alle Tabellen in einer DB löschen
-<code>+
  
 +<code>
 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 ("ROLE") neuen User anlegen ("ROLE")
- 
 <code> <code>
 +
 postgres=# CREATE ROLE discourse2; postgres=# CREATE ROLE discourse2;
 CREATE ROLE CREATE ROLE
Zeile 91: Zeile 92:
  
 </code> </code>
 +
 ==== GRANT Statement ==== ==== GRANT Statement ====
  
 nur login nur login
  
-<code>ALTER ROLE discourse2 LOGIN;+<code> 
 +ALTER ROLE discourse2 LOGIN;
  
 </code> </code>
Zeile 125: Zeile 128:
 </code> </code>
  
 +===== Tabellen-Aktionen =====
 +
 +Alle Tabellen löschen
 +
 +<code>
 +DO $$
 +DECLARE
 +    r RECORD;
 +BEGIN
 +    FOR r IN (SELECT tablename FROM pg_tables WHERE schemaname = 'public') LOOP
 +   EXECUTE 'DROP TABLE IF EXISTS ' || quote_ident(r.tablename) || ' CASCADE';
 +    END LOOP;
 +END $$;
 +
 +</code>
 +
 +check
 +<code>
 +
 +SELECT tablename FROM pg_tables WHERE schemaname = 'public';
 +
 +</code>
 +
 +===== Daten-Aktionen =====
 +
 +<code>
 +do $$ declare
 +   r record;
 +begin
 +   for r in (select tablename from pg_tables where schemaname = 'my-schema-name') loop
 +   execute 'drop table if exists ' || quote_ident(r.tablename) || ' cascade';
 +   end loop;
 +end $$;
 +
 +</code>
 +
 +Komplette Datenbank löschen
 +<code>
 +
 +drop DATABASE onlyoffice;
 +
 +</code>
  
 ===== Historie der Kommandos in psql ===== ===== Historie der Kommandos in psql =====
Zeile 196: Zeile 241:
  
 </code> </code>
- 
-====== Alte Daten löschen ====== 
- 
-Datenbank 
- 
-<code> 
-drop DATABASE onlyoffice; 
- 
-</code> 
- 
  
 ===== Templates und UTF8 encoding ===== ===== Templates und UTF8 encoding =====
  • postgres.1744973394.txt.gz
  • Zuletzt geändert: 18/04/2025 - 10:49
  • von admin