datenbank:postgresql
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| datenbank:postgresql [2024-02-24 15:46:30] – [Volltextsuche (case-insensitive)] manfred | datenbank:postgresql [2026-05-15 10:46:00] (aktuell) – manfred | ||
|---|---|---|---|
| Zeile 23: | Zeile 23: | ||
| ===== Anleitungen bzw. Beispiele ===== | ===== Anleitungen bzw. Beispiele ===== | ||
| + | * **[[:: | ||
| * **[[:: | * **[[:: | ||
| + | * **[[:: | ||
| * [[:: | * [[:: | ||
| * [[:: | * [[:: | ||
| Zeile 93: | Zeile 95: | ||
| '' | '' | ||
| - | > echo " | + | > echo " |
| > echo " | > echo " | ||
| + | |||
| + | |||
| + | ==== Netzwerkzugriffe erlauben ==== | ||
| + | |||
| + | <code bash Zugriffe aus allen Netzen erlauben> | ||
| + | > echo " | ||
| + | > echo " | ||
| + | > echo " | ||
| + | </ | ||
| + | |||
| + | <code bash neue CFG laden> | ||
| + | > service postgresql reload | ||
| + | </ | ||
| + | |||
| + | <code bash offene DB-Ports zeigen> | ||
| + | > ss -antp | grep -F LISTEN | grep -F postgres | ||
| + | LISTEN | ||
| + | LISTEN | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Benutzer anlegen ==== | ||
| + | |||
| + | <code bash DB-Benutzer anzeigen> | ||
| + | > echo ' | ||
| + | List of roles | ||
| + | Role name | | ||
| + | -----------+------------------------------------------------------------ | ||
| + | | ||
| + | </ | ||
| + | |||
| + | <code bash Datenbanken anzeigen> | ||
| + | > echo ' | ||
| + | List of databases | ||
| + | | ||
| + | -----------+----------+----------+-----------------+---------+---------+------------+-----------+----------------------- | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | (3 rows) | ||
| + | </ | ||
| + | |||
| + | |||
| + | === Benutzer mit allen Rechten, jedoch ohne Benutzer anlegen oder verändern zu können === | ||
| + | |||
| + | <code sql> | ||
| + | # Benutzer anlegen | ||
| + | CREATE ROLE dbadmin | ||
| + | LOGIN | ||
| + | CREATEDB | ||
| + | PASSWORD ' | ||
| + | |||
| + | # nicht! zuviele Rechte | ||
| + | #ALTER ROLE dbadmin CREATEROLE; | ||
| + | #ALTER ROLE dbadmin SUPERUSER; | ||
| + | |||
| + | # Rechte für eine Datenbank | ||
| + | GRANT CONNECT ON DATABASE deine_datenbank TO dbadmin; | ||
| + | GRANT USAGE, CREATE ON SCHEMA public TO dbadmin; | ||
| + | |||
| + | # Rechte auf eine bestimmte Tabelle erteilen | ||
| + | GRANT SELECT, INSERT, UPDATE, DELETE, REFERENCES, TRIGGER ON TABLE deine_tabelle TO dbadmin; | ||
| + | |||
| + | # Rechte auf alle vorhandenen Tabellen in " | ||
| + | GRANT SELECT, INSERT, UPDATE, DELETE, REFERENCES, TRIGGER ON ALL TABLES IN SCHEMA public TO dbadmin; | ||
| + | |||
| + | # Rechte auf alle neuen Tabellen in " | ||
| + | ALTER DEFAULT PRIVILEGES IN SCHEMA public | ||
| + | GRANT SELECT, INSERT, UPDATE, DELETE, REFERENCES, TRIGGER | ||
| + | ON TABLES | ||
| + | TO dbadmin; | ||
| + | |||
| + | # (Optional) Rechte auf Sequences (IDs!) | ||
| + | GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO dbadmin; | ||
| + | ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT USAGE, SELECT ON SEQUENCES TO dbadmin; | ||
| + | </ | ||
| + | |||
| + | |||
| + | === Benutzer mit reduzierten Rechten, kann nicht einmal Datenbanken anlegen === | ||
| + | |||
| + | <code sql> | ||
| + | # Benutzer anlegen | ||
| + | CREATE ROLE dbuser | ||
| + | LOGIN | ||
| + | PASSWORD ' | ||
| + | |||
| + | # Rechte für eine Datenbank | ||
| + | GRANT CONNECT ON DATABASE deine_datenbank TO dbuser; | ||
| + | GRANT USAGE, CREATE ON SCHEMA public TO dbuser; | ||
| + | |||
| + | # Rechte auf eine bestimmte Tabelle erteilen | ||
| + | GRANT SELECT, INSERT, UPDATE, DELETE, REFERENCES, TRIGGER ON TABLE deine_tabelle TO dbuser; | ||
| + | |||
| + | # Rechte auf alle vorhandenen Tabellen in " | ||
| + | GRANT SELECT, INSERT, UPDATE, DELETE, REFERENCES, TRIGGER ON ALL TABLES IN SCHEMA public TO dbuser; | ||
| + | |||
| + | # Rechte auf alle neuen Tabellen in " | ||
| + | ALTER DEFAULT PRIVILEGES IN SCHEMA public | ||
| + | GRANT SELECT, INSERT, UPDATE, DELETE, REFERENCES, TRIGGER | ||
| + | ON TABLES | ||
| + | TO dbuser; | ||
| + | </ | ||
| + | |||
| + | |||
| + | === Test-DB + Test-Tabelle anlegen === | ||
| + | |||
| + | <code bash> | ||
| + | > echo " | ||
| + | Password: | ||
| + | CREATE DATABASE | ||
| + | |||
| + | > echo "GRANT CONNECT ON DATABASE testdb TO dbuser;" | ||
| + | > echo "GRANT USAGE, CREATE ON SCHEMA public TO dbuser;" | ||
| + | > echo "GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO dbuser;" | ||
| + | > echo "ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO dbuser;" | ||
| + | > echo "GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO dbuser;" | ||
| + | > echo "ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT USAGE, SELECT ON SEQUENCES TO dbuser;" | ||
| + | |||
| + | > echo -e ' | ||
| + | List of roles | ||
| + | Role name | | ||
| + | -----------+------------------------------------------------------------ | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | List of databases | ||
| + | | ||
| + | -----------+----------+----------+-----------------+---------+---------+------------+-----------+----------------------- | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | (4 rows) | ||
| + | |||
| + | |||
| + | > echo ' | ||
| + | Password: | ||
| + | CREATE TABLE | ||
| + | |||
| + | > echo ' | ||
| + | Password: | ||
| + | List of relations | ||
| + | | ||
| + | --------+---------+-------+-------- | ||
| + | | ||
| + | (1 row) | ||
| + | |||
| + | > echo " | ||
| + | Password: | ||
| + | INSERT 0 1 | ||
| + | |||
| + | > echo " | ||
| + | Password: | ||
| + | id | code | ||
| + | ----+------ | ||
| + | 1 | ABC | ||
| + | (1 row) | ||
| + | </ | ||
/home/http/wiki/data/attic/datenbank/postgresql.1708789590.txt · Zuletzt geändert: von manfred
