Ergebnis 1 bis 3 von 3

Thema: Alle Zugriffsrechte ändern

  1. #1
    karl_ha ist offline Erfahrener Benutzer
    Registriert seit
    08.03.2009
    Beiträge
    225

    Standard Alle Zugriffsrechte ändern

    Mit einer Funktion (Kapitel 14 - Häufige Fragen [PostgreSQL - Datenbankpraxis f Seite 440) können alle Zugriffsrechte der Tabellen einer Datenbank geändert werden.

    Kennt Ihr eine Funktion, welche den Eigentümer und die Zugriffsrechte ALLER Datenbanken
    ändert? Eine Funktion wird ja normalerweise immer in einer DB abgespeichert. Es müsste also über psql gehen.
    Also ein
    Code:
      ALTER DATABASE dbname OWNER TO user;
    nur halt für alle DBs.


    Die Funktion findet Ihr auch im Buch von Andreas Scherbaum. Dieses ist sehr zu empfehlen...

    Gruß
    Karl
    Geändert von karl_ha (25.05.2010 um 14:06 Uhr)

  2. #2
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.056

    Standard

    Danke für das Lob ;-)

    Das wird nicht über Datenbankgrenzen hinweg funktionieren, da du dich zu jeder Datenbank einzeln verbinden musst.
    Aber etwas Skripting sollte das als psql Skript doch schnell hinbekommen, oder?

    Btw, ab 9.0 kann man dafür auch DO verwenden und muss keine Funktion mehr schreiben.
    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support

  3. #3
    karl_ha ist offline Erfahrener Benutzer
    Registriert seit
    08.03.2009
    Beiträge
    225

    Standard

    Schnell hinbekommen?

    Code:
    LIST=$(psql -U geodata -h localhost -d postgis_15 -l | awk '{print $1}' | grep -vE '^-|^LIST|template[0|1]')
    for d in $LIST
    do
      ALTER DATABASE $d OWNER TO geodata;
    done
    Wenn man den psql-Teil in der Konsole ausgeben lässt werden alle Datenbanken aufgelistet. Leider erscheinen aber noch ein paar ":". Dadurch hat der ALTER-Teil auch seine Probleme, die Liste abzuarbeiten.

Ähnliche Themen

  1. Wer hat das Recht Zugriffsrechte zu vergeben
    Von pi31415 im Forum Benutzer- & Rechteverwaltung
    Antworten: 4
    Letzter Beitrag: 10.08.2011, 07:56
  2. Tablespace für alle Indizes ändern
    Von murphy im Forum Konfiguration
    Antworten: 8
    Letzter Beitrag: 29.06.2010, 09:18
  3. Alle Verbindungen beenden. C#
    Von MHA im Forum Programmierung
    Antworten: 6
    Letzter Beitrag: 02.10.2009, 17:11
  4. TRUNCATE auf alle Tabellen
    Von karl_ha im Forum SQL
    Antworten: 15
    Letzter Beitrag: 17.06.2009, 13:35
  5. alle zeilen adding wie sum
    Von pentiyum im Forum SQL
    Antworten: 1
    Letzter Beitrag: 18.12.2006, 12:38

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum