sql >> データベース >  >> RDS >> PostgreSQL

PostgreSQL特権付与が表示されない

    誤解したことのリスト:

    1. ALTER DEFAULT PRIVILEGES 既存のオブジェクト(この場合はスキーマ)の権限は変更されません。

      付与 する必要があります CREATE 特権 スキーマ上:

      GRANT CREATE ON SCHEMA tn_schema TO tn_beta_migrator;
      
    2. ALTER DEFAULT PRIVILEGES 実行したステートメントは、ユーザーpostgresによって作成されたテーブルの権限にのみ影響します スキーマ内tn_schema 、しかし、tn_beta_migratorが必要なようです テーブルを作成します。

      ALTER DEFAULT PRIVILEGESは必要ありません テーブルを作成したユーザーがテーブルの所有者になり、デフォルトでテーブルに対するすべての権限を持っているためです。

    3. \ddpでデフォルトの権限を表示できます psqlで 。

    4. スキーマはデータベースの一部であるため、スキーマを表示するにはデータベースに接続する必要があります。

    tn_beta_migratorによって作成されたテーブルが必要な場合 デフォルトで特定の権限を取得します。そのユーザーのデフォルトの権限を定義する必要がありますpostgresではありません 、あなたがしたように):

    ALTER DEFAULT PRIVILEGES FOR ROLE tn_beta_migrator IN SCHEMA tn_schema GRANT ...;
    



    1. 他のユーザーにv$sessionへのSELECTアクセスを許可する

    2. 存在しない場合はMySqlに挿入します

    3. mysqlの文字列から数字のみを取得するにはどうすればよいですか?

    4. Laravel4-JOIN-同じ列名