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 [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 =====
 +
 +<code>
 +create database sqlmail;
 +
 +create user sqlmail with encrypted password 'xxxxxxxxxxxx';
 +
 +grant all privileges on database sqlmail to sqlmail;
 +
 +</code>
  
 ===== Datenbank duplizieren ===== ===== Datenbank duplizieren =====
Zeile 29: Zeile 40:
  
 <code> <code>
- <font inherit/monospace;;inherit;;#000000background-color:#ffffff;>SELECT usename, datname, state FROM pg_stat_activity WHERE usename='discourse'</font>+SELECT usename, datname, state FROM pg_stat_activity WHERE usename='discourse2';
  
 </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 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": alle Tabellen in einer DB löschen
 <code> <code>
  
Zeile 77: Zeile 88:
  
 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 102:
  
 </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 138:
 </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 251:
  
 </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