PostgreSQL

これらのインストラクションを使用するダイアレクト

次の言語は、このページで説明するデータベース設定の要件を共有します。

  • PostgreSQL
  • Cloud SQL for PostgreSQL
  • Microsoft Azure PostgreSQL
  • PostgreSQL 向け AlloyDB
  • Amazon Aurora PostgreSQL
  • Amazon RDS for PostgreSQL

ネットワークトラフィックの暗号化

Looker では、Looker アプリケーションとデータベース間のネットワーク トラフィックを暗号化することを強く推奨します。安全なデータベース アクセスの有効化に関するドキュメント ページで説明されているオプションのいずれかを検討します。

SSL 暗号化の使用にご関心がある場合は、PostgreSQL のドキュメントをご覧ください。

ユーザーとセキュリティ

some_password_here を一意の安全なパスワードに変更します。

CREATE USER looker WITH ENCRYPTED PASSWORD 'some_password_here';
GRANT CONNECT ON DATABASE database_name to looker;
\c database_name
GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO looker;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO looker;

public 以外のスキーマを使用している場合は、次のコマンドを実行して、使用権限を Looker に付与します。

GRANT USAGE ON SCHEMA schema_name TO looker;

パブリック スキーマに今後追加されるテーブルも looker ユーザーが使用できるようにするには、次のコマンドを実行します。

ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON tables TO looker;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON sequences TO looker;

設定によっては、上記のコマンドを変更する必要がある場合があります。別のユーザーまたはロールが looker ユーザーの将来の権限を必要とするテーブルを作成している場合は、ターゲット ロールまたはユーザーを指定して、looker ユーザーの権限の付与を適用します。

ALTER DEFAULT PRIVILEGES FOR USER <USER_WHO_CREATES_TABLES> IN SCHEMA public GRANT SELECT ON tables TO looker;
ALTER DEFAULT PRIVILEGES FOR ROLE <ROLE_THAT_CREATES_TABLES> IN SCHEMA public GRANT SELECT ON sequences TO looker;

たとえば、web_app ユーザーがテーブルを作成し、looker ユーザーがそのテーブルを使用できるようにする場合は、GRANT ステートメントを実行して、web_app ユーザーが作成したテーブルに対して looker ユーザーに権限を付与する必要があります。この場合、ターゲットのロールとユーザーは web_app ユーザーです。つまり、looker ユーザーがテーブルを読み取るための権限を持つように、web_app によって作成されたテーブルをターゲットにします。以下に例を示します。

ALTER DEFAULT PRIVILEGES FOR USER web_app IN SCHEMA public GRANT SELECT ON tables TO looker;

詳細については、PostgreSQL のウェブサイトの ALTER DEFAULT PRIVILEGES をご覧ください。

一時的スキーマ設定

自己ホスト型Postgres

looker ユーザーが所有するスキーマを作成します。

CREATE SCHEMA looker_scratch AUTHORIZATION looker;

Amazon RDS上のPostgres

スクラッチスキーマを作成します。

CREATE SCHEMA looker_scratch;

スクラッチ スキーマの所有権を looker ユーザーに変更します。

ALTER SCHEMA looker_scratch OWNER TO looker;

search_path の設定

最後に、適切な search_path を設定する必要があります。これは、Looker の SQL Runner がデータベースから特定のメタデータを取得するために使用されます。looker というユーザーと、looker_scratch という一時スキーマを作成済みの場合は、次のコマンドを使用します。

ALTER USER looker SET search_path TO '$user',looker_scratch,schema_of_interest,public
                                                            ^^^^^^^^^^^^^^^^^^
                                                            ^^^^^^^^^^^^^^^^^^
                                             include a comma-separated list of
                                            all schemas you'll use with Looker

接続の追加

データベースの構成が完了したら、Looker からデータベースに接続できます。Looker の [Admin] セクションで [Connections] を選択し、[Add Connection] をクリックします。

接続の詳細を入力します。設定の大部分は、ほとんどのデータベース言語に共通です。詳細については、Looker のデータベースへの接続に関するドキュメント ページをご覧ください。

接続オプションを構成したら、[Test Settings Settings] をクリックして、PostgreSQL への接続が成功したことを確認します。トラブルシューティング情報については、データベース接続のテストのドキュメントをご覧ください。

[Add Connection] をクリックして接続を保存します。

機能のサポート

一部の機能については、Lookerでサポートするには、データベースダイアレクトが同じ機能に対応している必要があります。

Looker の最新リリースでは、PostgreSQL は次の Looker 機能をサポートしています。

Looker の最新リリースでは、Cloud SQL for PostgreSQL は次の Looker 機能をサポートしています。

Looker の最新リリースでは、Microsoft Azure PostgreSQL は次の Looker 機能をサポートしています。