これらのインストラクションを使用するダイアレクト
このページで説明しているデータベース設定要件は、以下の言語に共通です。
- PostgreSQL
- Google Cloud SQL for PostgreSQL
- Microsoft Azure PostgreSQL
- PostgreSQL 向け AlloyDB
- Amazon Aurora PostgreSQL
- Amazon RDS for PostgreSQL
Google Cloud SQL for PostgreSQL の場合、Looker(Google Cloud コア)は、認証方法としてアプリケーションのデフォルト認証情報(ADC)を提供しています。詳細については、Looker(Google Cloud コア)ドキュメントをご覧ください。
Looker では、AlloyDB for PostgreSQL、Amazon RDS for PostgreSQL、Amazon Aurora PostgreSQL のインテグレーションがサポートされています。これらの言語の接続を作成するには、[新しい接続] ページの [言語] プルダウンから [PostgreSQL 9.5+] を選択します。
注: PostgreSQL on Heroku については、Heroku のドキュメントをご覧ください。
ネットワークトラフィックの暗号化
Looker アプリケーションとデータベース間のネットワーク トラフィックを暗号化することをおすすめします。セキュアなデータベースアクセスを可能にするドキュメント ページに記載されているオプションのいずれかを検討してください。
SSL 暗号化の使用を検討している場合は、PostgreSQL のドキュメントをご覧ください。
ユーザーとセキュリティ
データベースでアクションを実行するには、Looker がデータベース上のユーザーアカウントを持っている必要があります。
Looker(Google Cloud コア)インスタンスで ADC を使用する場合は、Cloud SQL データベースに追加したサービス アカウントのユーザー名の権限を借用します。サービス アカウントのユーザー名は service-<project number>@gcp-sa-looker.iam.gserviceaccount.com
の形式になります。サービス アカウントのユーザー名の末尾が .gserviceaccount.com
である場合は、ユーザー名の .gserviceaccount.com
の部分を削除します。切り捨てられ後、ユーザー名は service-<project number>@gcp-sa-looker.iam
のようになります。
Looker が使用するデータベース ユーザーを構成するには、データベースで次の手順を行います。
データベース ユーザーとパスワードを作成します。
CREATE USER USERNAME WITH ENCRYPTED PASSWORD 'PASSWORD';
Looker がデータベースで操作を実行できるように、データベース ユーザーに権限を付与します。
GRANT CONNECT ON DATABASE DATABASE_NAME to USERNAME; \c DATABASE_NAME GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO USERNAME; GRANT SELECT ON ALL TABLES IN SCHEMA public TO USERNAME;
public
以外のスキーマを使用している場合は、次のコマンドを実行して Looker に使用権限を付与します。GRANT USAGE ON SCHEMA SCHEMA_NAME TO USERNAME;
public スキーマに今後追加するテーブルを Looker ユーザーが確実に利用できるようにするには、次のコマンドを実行します。
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON tables TO USERNAME; ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON sequences TO USERNAME;
ご利用の設定によっては、上記のコマンドを変更する必要がある場合があります。Looker ユーザーが今後の権限を必要とするテーブルを別のユーザーまたはロールが作成している場合、Looker ユーザーの権限の付与を適用する対象のロールまたはユーザーを指定する必要があります。
ALTER DEFAULT PRIVILEGES FOR USER ANOTHER_USERNAME IN SCHEMA SCHEMA_NAME GRANT SELECT ON tables TO USERNAME;
ALTER DEFAULT PRIVILEGES FOR ROLE TARGET_ROLE IN SCHEMA SCHEMA_NAME GRANT SELECT ON sequences TO USERNAME;
たとえば、web_app
ユーザーがテーブルを作成し、looker
ユーザーがそれらのテーブルを使用できるようにするには、GRANT
ステートメントを実行して、looker
ユーザーに web_app
ユーザーにより作成されたそのテーブルに対する権限を付与する必要があります。この場合の対象ロールまたはユーザーは web_app
ユーザーです。つまり、web_app
によって作成されたテーブルに対する権限を変更して、looker
ユーザーにテーブルの読み取り権限を付与します。以下に例を示します。
ALTER DEFAULT PRIVILEGES FOR USER web_app IN SCHEMA public GRANT SELECT ON tables TO looker;
詳細については、PostgreSQL のウェブサイトの ALTER DEFAULT PRIVILEGES
をご覧ください。
一時的スキーマ設定
自己ホスト型Postgres
Lookerユーザーによって所有されるスキーマを作成します。
CREATE SCHEMA SCHEMA_NAME AUTHORIZATION USERNAME;
Amazon RDS上のPostgres
スクラッチスキーマを作成します。
CREATE SCHEMA SCHEMA_NAME;
スクラッチスキーマの所有権をLookerユーザーに変更します。
ALTER SCHEMA SCHEMA_NAME OWNER TO USERNAME;
search_path
の設定
Looker をデータベースに接続する前に、Looker SQL Runner がデータベースから特定のメタデータを取得するために使用できる適切な search_path
を設定する必要があります。
ALTER USER USERNAME SET search_path TO '$user',SCHEMA_NAME,SCHEMA_NAME_2,SCHEMA_NAME_3
^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^
include a comma-separated list of
all schemas you'll use with Looker
データベースへの Looker 接続の作成
Looker からデータベースへの接続を作成する手順は次のとおりです。
- Looker の [管理者] セクションで [接続] を選択し、[新しい接続] をクリックします。
[言語] プルダウン メニューから、データベース言語の名前を選択します。AlloyDB for PostgreSQL 言語の場合は、[PostgreSQL 9.5+] を選択します。
接続の詳細を入力します。設定の大部分は、ほとんどのデータベース言語に共通するものです。詳細については、Looker をデータベースに接続するのドキュメント ページをご覧ください。
接続が成功したことを確認するには、[テスト] をクリックします。トラブルシューティング情報については、データベース接続のテストのドキュメント ページをご覧ください。
これらの設定を保存するには、[接続] をクリックします。
機能のサポート
一部の機能については、Looker でサポートするには、データベース言語が同じ機能に対応している必要があります。
PostgreSQL 9.5 以降では、Looker 24.18 の時点で、次の機能がサポートされています。
機能 | サポート対象 |
---|---|
サポート レベル | 対応 |
Looker(Google Cloud コア) | ○ |
対称集計 | ○ |
派生テーブル | ○ |
永続的な SQL 派生テーブル | ○ |
永続的なネイティブ派生テーブル | ○ |
安定したビュー | ○ |
クエリの強制終了 | ○ |
SQL ベースのピボット | ○ |
タイムゾーン | ○ |
SSL | ○ |
Subtotals | ○ |
JDBC の追加パラメータ | ○ |
大文字と小文字を区別 | ○ |
ロケーション タイプ | ○ |
リストのタイプ | ○ |
パーセンタイル | ○ |
個別のパーセンタイル | ○ |
SQL Runner の表示プロセス | ○ |
SQL Runner の説明テーブル | ○ |
SQL Runner 表示インデックス | ○ |
SQL Runner Select 10 | ○ |
SQL ランナーの数 | ○ |
SQL の説明 | ○ |
Oauth 認証情報 | × |
コンテキスト コメント | ○ |
接続プーリング | ○ |
HLL スケッチ | × |
集計認識 | ○ |
増分PDT | ○ |
ミリ秒 | ○ |
マイクロ秒 | ○ |
マテリアライズド ビュー | × |
Approximate Count Distinct | × |
Google Cloud PostgreSQL では、Looker 24.18 の時点で、次の機能がサポートされています。
機能 | サポート対象 |
---|---|
サポート レベル | 対応 |
Looker(Google Cloud コア) | ○ |
対称集計 | ○ |
派生テーブル | ○ |
永続的な SQL 派生テーブル | ○ |
永続的なネイティブ派生テーブル | ○ |
安定したビュー | ○ |
クエリの強制終了 | ○ |
SQL ベースのピボット | ○ |
タイムゾーン | ○ |
SSL | ○ |
Subtotals | ○ |
JDBC の追加パラメータ | ○ |
大文字と小文字を区別 | ○ |
ロケーション タイプ | ○ |
リストのタイプ | ○ |
パーセンタイル | ○ |
個別のパーセンタイル | ○ |
SQL Runner の表示プロセス | ○ |
SQL Runner の説明テーブル | ○ |
SQL Runner 表示インデックス | ○ |
SQL Runner Select 10 | ○ |
SQL ランナーの数 | ○ |
SQL の説明 | ○ |
Oauth 認証情報 | × |
コンテキスト コメント | ○ |
接続プーリング | ○ |
HLL スケッチ | × |
集計認識 | ○ |
増分PDT | ○ |
ミリ秒 | ○ |
マイクロ秒 | ○ |
マテリアライズド ビュー | × |
Approximate Count Distinct | × |
Microsoft Azure PostgreSQL では、Looker 24.18 の時点で、次の機能がサポートされています。
機能 | サポート対象 |
---|---|
サポート レベル | 対応 |
Looker(Google Cloud コア) | ○ |
対称集計 | ○ |
派生テーブル | ○ |
永続的な SQL 派生テーブル | ○ |
永続的なネイティブ派生テーブル | ○ |
安定したビュー | ○ |
クエリの強制終了 | ○ |
SQL ベースのピボット | ○ |
タイムゾーン | ○ |
SSL | ○ |
Subtotals | ○ |
JDBC の追加パラメータ | ○ |
大文字と小文字を区別 | ○ |
ロケーション タイプ | ○ |
リストのタイプ | ○ |
パーセンタイル | ○ |
個別のパーセンタイル | ○ |
SQL Runner の表示プロセス | ○ |
SQL Runner の説明テーブル | ○ |
SQL Runner 表示インデックス | ○ |
SQL Runner Select 10 | ○ |
SQL ランナーの数 | ○ |
SQL の説明 | ○ |
Oauth 認証情報 | × |
コンテキスト コメント | ○ |
接続プーリング | ○ |
HLL スケッチ | × |
集計認識 | ○ |
増分PDT | ○ |
ミリ秒 | ○ |
マイクロ秒 | ○ |
マテリアライズド ビュー | × |
Approximate Count Distinct | × |