PostgreSQL

Dialek yang menggunakan petunjuk ini

Dialek berikut memiliki persyaratan penyiapan database yang sama seperti yang dijelaskan di halaman ini:

  • PostgreSQL
  • Google Cloud SQL untuk PostgreSQL
  • Microsoft Azure PostgreSQL
  • AlloyDB untuk PostgreSQL
  • Amazon Aurora PostgreSQL
  • Amazon RDS for PostgreSQL

Untuk Google Cloud SQL untuk PostgreSQL, Looker (inti Google Cloud) menawarkan Kredensial Default Aplikasi (ADC) sebagai metode autentikasi. Lihat dokumentasi Looker (inti Google Cloud) untuk mengetahui informasi selengkapnya.

Untuk AlloyDB untuk PostgreSQL, Amazon RDS untuk PostgreSQL, dan Amazon Aurora PostgreSQL, Looker memiliki dukungan integrasi. Untuk membuat koneksi untuk dialek ini, pilih PostgreSQL 9.5+ dari drop-down Dialect di halaman New Connection.

Untuk PostgreSQL di Heroku, lihat dokumentasi Heroku.

Mengenkripsi traffic jaringan

Praktik terbaiknya adalah mengenkripsi traffic jaringan antara aplikasi Looker dan database Anda. Pertimbangkan salah satu opsi yang dijelaskan di halaman dokumentasi Mengaktifkan akses database yang aman.

Jika Anda tertarik untuk menggunakan enkripsi SSL, lihat dokumentasi PostgreSQL.

Pengguna dan keamanan

Untuk melakukan tindakan di database, Looker harus memiliki akun pengguna di database Anda.

Jika Anda menggunakan instance Looker (inti Google Cloud) dan ingin menggunakan ADC, gunakan nama pengguna akun layanan yang di-impersonate yang telah Anda tambahkan ke database Cloud SQL. Nama pengguna akun layanan akan memiliki format service-<project number>@gcp-sa-looker.iam.gserviceaccount.com. Jika nama pengguna akun layanan Anda diakhiri dengan .gserviceaccount.com, hapus bagian .gserviceaccount.com dari nama pengguna. Setelah terpotong, nama pengguna akan terlihat seperti service-<project number>@gcp-sa-looker.iam.

Untuk mengonfigurasi pengguna database yang akan digunakan Looker, lakukan langkah-langkah berikut di database Anda:

  1. Buat pengguna dan sandi database.

    CREATE USER USERNAME WITH ENCRYPTED PASSWORD 'PASSWORD';
    
  2. Berikan izin kepada pengguna database agar Looker dapat melakukan tindakan pada database Anda:

    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;
    
  3. Jika Anda menggunakan skema selain public, jalankan perintah ini untuk memberikan izin penggunaan ke Looker:

    GRANT USAGE ON SCHEMA SCHEMA_NAME TO USERNAME;
    
  4. Untuk memastikan bahwa tabel mendatang yang Anda tambahkan ke skema publik juga tersedia untuk pengguna Looker, jalankan perintah berikut:

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

Bergantung pada penyiapan Anda, perintah sebelumnya mungkin perlu diubah. Jika pengguna atau peran lain membuat tabel yang memerlukan izin di masa mendatang bagi pengguna Looker, Anda harus menentukan peran atau pengguna target untuk menerapkan pemberian izin pengguna Looker ke:

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;

Misalnya, jika pengguna web_app membuat tabel dan Anda ingin pengguna looker dapat menggunakan tabel tersebut, Anda harus menjalankan pernyataan GRANT untuk memberikan izin pengguna looker pada tabel yang dibuat oleh pengguna web_app. Peran atau pengguna target dalam hal ini adalah pengguna web_app, yang berarti Anda ingin mengubah hak istimewa pada tabel yang dibuat oleh web_app sehingga pengguna looker dapat memiliki izin untuk membaca tabel. Berikut ini contohnya:

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

Lihat ALTER DEFAULT PRIVILEGES di situs PostgreSQL untuk mengetahui informasi selengkapnya.

Penyiapan skema sementara

Postgres yang dihosting sendiri

Buat skema yang dimiliki oleh pengguna Looker:

CREATE SCHEMA SCHEMA_NAME AUTHORIZATION USERNAME;

Postgres di Amazon RDS

Buat skema awal:

CREATE SCHEMA SCHEMA_NAME;

Ubah kepemilikan skema awal ke pengguna Looker:

ALTER SCHEMA SCHEMA_NAME OWNER TO USERNAME;

Menetapkan search_path

Sebelum menghubungkan Looker ke database, Anda harus menetapkan search_path yang sesuai, yang dapat digunakan Looker SQL Runner untuk mengambil metadata tertentu dari database Anda:

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

Membuat koneksi Looker ke database Anda

Ikuti langkah-langkah berikut untuk membuat koneksi dari Looker ke database Anda:

  1. Di bagian Admin di Looker, pilih Koneksi, lalu klik Tambahkan Koneksi.
  2. Dari menu drop-down Dialect, pilih nama dialek database Anda. Untuk dialek AlloyDB untuk PostgreSQL, pilih PostgreSQL 9.5+.

  3. Isi detail koneksi. Sebagian besar setelan bersifat umum untuk sebagian besar dialek database. Lihat halaman dokumentasi Menghubungkan Looker ke database Anda untuk mengetahui informasinya.

  4. Untuk memverifikasi bahwa koneksi berhasil, klik Uji. Lihat halaman dokumentasi Menguji konektivitas database untuk mengetahui informasi pemecahan masalah.

  5. Untuk menyimpan setelan ini, klik Hubungkan.

Dukungan fitur

Agar Looker mendukung beberapa fitur, dialek database Anda juga harus mendukungnya.

PostgreSQL 9.5+ mendukung fitur berikut mulai Looker 24.20:

Fitur Didukung?
Level Dukungan
Didukung
Looker (Google Cloud core)
Ya
Agregat Simetris
Ya
Tabel Turunan
Ya
Tabel Turunan SQL Persisten
Ya
Tabel Turunan Berbasis Persisten
Ya
Tampilan Stabil
Ya
Penghentian Kueri
Ya
Pivot berbasis SQL
Ya
Zona waktu
Ya
SSL
Ya
Subtotal
Ya
Parameter Tambahan JDBC
Ya
Peka Huruf Besar/Kecil
Ya
Jenis Lokasi
Ya
Jenis Daftar
Ya
Persentil
Ya
Persentil Berbeda
Ya
Proses Tampilkan SQL Runner
Ya
SQL Runner Describe Table
Ya
SQL Runner Show Indexes
Ya
SQL Runner Select 10
Ya
Jumlah SQL Runner
Ya
SQL Explain
Ya
Kredensial Oauth
Tidak
Komentar Konteks
Ya
Penggabungan Koneksi
Ya
Sketsa HLL
Tidak
Kesadaran Agregat
Ya
PDT inkremental
Ya
Milidetik
Ya
Mikrodetik
Ya
Tampilan Terwujud
Tidak
Perkiraan Jumlah Berbeda
Tidak

Google Cloud PostgreSQL mendukung fitur berikut mulai Looker 24.20:

Fitur Didukung?
Level Dukungan
Didukung
Looker (Google Cloud core)
Ya
Agregat Simetris
Ya
Tabel Turunan
Ya
Tabel Turunan SQL Persisten
Ya
Tabel Turunan Berbasis Persisten
Ya
Tampilan Stabil
Ya
Penghentian Kueri
Ya
Pivot berbasis SQL
Ya
Zona waktu
Ya
SSL
Ya
Subtotal
Ya
Parameter Tambahan JDBC
Ya
Peka Huruf Besar/Kecil
Ya
Jenis Lokasi
Ya
Jenis Daftar
Ya
Persentil
Ya
Persentil Berbeda
Ya
Proses Tampilkan SQL Runner
Ya
SQL Runner Describe Table
Ya
SQL Runner Show Indexes
Ya
SQL Runner Select 10
Ya
Jumlah SQL Runner
Ya
SQL Explain
Ya
Kredensial Oauth
Tidak
Komentar Konteks
Ya
Penggabungan Koneksi
Ya
Sketsa HLL
Tidak
Kesadaran Agregat
Ya
PDT inkremental
Ya
Milidetik
Ya
Mikrodetik
Ya
Tampilan Terwujud
Tidak
Perkiraan Jumlah Berbeda
Tidak

Microsoft Azure PostgreSQL mendukung fitur berikut mulai Looker 24.20:

Fitur Didukung?
Level Dukungan
Didukung
Looker (Google Cloud core)
Ya
Agregat Simetris
Ya
Tabel Turunan
Ya
Tabel Turunan SQL Persisten
Ya
Tabel Turunan Berbasis Persisten
Ya
Tampilan Stabil
Ya
Penghentian Kueri
Ya
Pivot berbasis SQL
Ya
Zona waktu
Ya
SSL
Ya
Subtotal
Ya
Parameter Tambahan JDBC
Ya
Peka Huruf Besar/Kecil
Ya
Jenis Lokasi
Ya
Jenis Daftar
Ya
Persentil
Ya
Persentil Berbeda
Ya
Proses Tampilkan SQL Runner
Ya
SQL Runner Describe Table
Ya
SQL Runner Show Indexes
Ya
SQL Runner Select 10
Ya
Jumlah SQL Runner
Ya
SQL Explain
Ya
Kredensial Oauth
Tidak
Komentar Konteks
Ya
Penggabungan Koneksi
Ya
Sketsa HLL
Tidak
Kesadaran Agregat
Ya
PDT inkremental
Ya
Milidetik
Ya
Mikrodetik
Ya
Tampilan Terwujud
Tidak
Perkiraan Jumlah Berbeda
Tidak