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

PSQLでユーザーを作成する方法

    次のコマンドを使用してPostgreSQLサーバーインスタンスに接続します。

    sudo -u postgres psql
    

    Chartioに接続するデータベースを選択します:

    \c databasename;
    

    Chartio読み取り専用ユーザーの新しい役割を作成します:

    CREATE ROLE chartio_read_only_user LOGIN PASSWORD 'secure_password';
    

    新しいユーザーがデータベースに接続するために必要な権限を付与します:

    GRANT CONNECT ON DATABASE exampledb TO chartio_read_only_user;
    GRANT USAGE ON SCHEMA public TO chartio_read_only_user;
    

    次のコマンドを実行して、新しいユーザーにselect
    アクセスを許可するクエリを生成します。

    SELECT 'GRANT SELECT ON '||schemaname||'."'||tablename||'" TO chartio_read_only_user;' FROM pg_tables WHERE schemaname IN ('public') ORDER BY schemaname, tablename;
    

    次のようなGRANTステートメントのリストが表示されます。

    クエリによって生成されたGRANTステートメントをコピーして、ターミナルウィンドウに貼り付けます。テーブルのサブセットへのアクセスを制限するには、対応するテーブルに対してのみGRANTステートメントを実行します。特定の列へのアクセスを制限するには、スキーマを使用してPostgreSQLアクセスを制限する方法をお読みください。

    GRANT SELECT ON public."album" TO chartio_read_only_user;
    GRANT SELECT ON public."artist" TO chartio_read_only_user;
    GRANT SELECT ON public."customer" TO chartio_read_only_user;
    GRANT SELECT ON public."employee" TO chartio_read_only_user;
    GRANT SELECT ON public."genre" TO chartio_read_only_user;
    GRANT SELECT ON public."invoice" TO chartio_read_only_user;
    GRANT SELECT ON public."invoiceline" TO chartio_read_only_user;
    GRANT SELECT ON public."mediatype" TO chartio_read_only_user;
    GRANT SELECT ON public."playlist" TO chartio_read_only_user;
    GRANT SELECT ON public."playlisttrack" TO chartio_read_only_user;
    GRANT SELECT ON public."track" TO chartio_read_only_user;
    

    これで、新しい読み取り専用ユーザーは、Chartioがデータベースに接続するために必要な権限を取得しました。


    1. OSXMavericksへのRODBC/ROracleパッケージのインストール

    2. mysqlデータベースからのBLOBイメージを表示するためにPHPページが必要です

    3. 多対多の関係の例

    4. SQLServerで日時の時間部分を削除するための最良のアプローチ