*Markus: (POSTGRE) Wie Datenbank für jeden User auf SELECT setzen?

Hallo,

irgendwie ist mir bei PostgreSQL (8.3) nicht ganz klar, wie ich eine Datenbank, dH alle Tabellen darin für einen speziellen Benutzer auf SELECT, oder ein anderes Privileg setzen kann.
Auf Tabellen funktioniert der GRANT wie er soll. Bei kompletten Datenbanken bekomme ich folgende Meldung:

  
testdatenbank=# grant select on database testdatenbank to standarduser;  
ERROR:  invalid privilege type SELECT for database  

Auf http://www.postgresql.org/docs/8.3/static/sql-grant.html ist beschrieben, dass bei Datenbanken zwar Privileges wie CONNECT, oder TEMP angewendet werden, aber ein Privilege kann, wie weiter unten bschrieben, auch SELECT sein. Also was habe ich hier nicht verstanden?

Markus

  1. Hallo Markus,

    Auf http://www.postgresql.org/docs/8.3/static/sql-grant.html ist beschrieben, dass bei Datenbanken zwar Privileges wie CONNECT, oder TEMP angewendet werden, aber ein Privilege kann, wie weiter unten bschrieben, auch SELECT sein.

    da steht aber nichts, gar nichts, überhaupt nichts davon, dass dieses Privileg auf Datenbanken angewandt werden kann.

    Wie kommst Du darauf? Was erwartest Du davon?

    Außerdem werden doch explizit die Privilegien in Zusammenhang mit DATABASE aufgezählt:

    GRANT { { CREATE | CONNECT | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }
        ON DATABASE dbname [, ...]
        TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]

    Wo findest Du hier SELECT?

    Freundliche Grüße

    Vinzenz

  2. 你好 *Markus,

    testdatenbank=# grant select on database testdatenbank to standarduser;
    ERROR:  invalid privilege type SELECT for database

      
    Du meinst vermutlich `grant select on testdatenbank.* to standarduser`{:.language-sql}. Auf Datenbanken kann man keine SELECT-Privilegien vergeben.  
      
      
    再见,  
     克里斯蒂安  
    
    -- 
    [Bauer sucht Frau!](http://ck.kennt-wayne.de/bauer-sucht-frau) | [Ich bin ja eigentlich kein Serien-Junkie…](http://ck.kennt-wayne.de/ich-bin-ja-eigentlich-kein-serien-junkie)  
    Descartes sagte: 'Ich denke, also bin ich.' Ich hingegen sage: 'Ich denke nicht, also bin ich.'  
      
    <http://wwwtech.de/>  
    
    
    1. Hallo,

      Du meinst vermutlich grant select on testdatenbank.* to standarduser.

      Das führt leider zu einem Syntax Error. Ich glaube allmählich, dass man gar nicht alle Tabellen auf ein Mal auf SELECT setzen.

      Markus

      1. 你好 *Markus,

        Du meinst vermutlich grant select on testdatenbank.* to standarduser.

        Das führt leider zu einem Syntax Error.

        Hm, ja, das war MySQL-Syntax, sorry.

        Ich glaube allmählich, dass man gar nicht alle Tabellen auf ein Mal auf SELECT setzen.

        Nach genauerem Nachlesen: nein, gibt es nicht, das musst du Tabellenweise setzen. Es gibt im Netz nur ein paar Scripte, die das automatisieren, sonst nichts.

        再见,
         克里斯蒂安

        1. Nach genauerem Nachlesen: nein, gibt es nicht, das musst du Tabellenweise setzen. Es gibt im Netz nur ein paar Scripte, die das automatisieren, sonst nichts.

          Ok danke. Wenigstens kann ich mir jetzt über andere Dinge den Kopf zerbrechen. :)

          Markus