Halaman ini menyediakan ringkasan tentang PGAdapter. Untuk mempelajari cara memulai PGAdapter, lihat Memulai PGAdapter.
PGAdapter adalah proxy file bantuan yang mendukung
antarmuka PostgreSQL untuk Spanner. Protokol ini berjalan di mesin yang sama dengan aplikasi dan menampilkan endpoint di localhost yang mendukung protokol kabel PostgreSQL. Alat ini menerjemahkan protokol kabel PostgreSQL
ke dalam protokol kabel Spanner, gRPC. Dengan proxy ini
yang berjalan secara lokal, klien PostgreSQL seperti psql
dapat terhubung ke
database Spanner dialek PostgreSQL.
Diagram berikut menunjukkan cara psql
terhubung ke Spanner melalui PGAdapter.
PGAdapter mendukung mode kueri sederhana dan diperluas, serta mendukung jenis data apa pun yang didukung antarmuka PostgreSQL untuk Spanner.
Lingkungan eksekusi PGAdapter
Anda dapat menjalankan PGAdapter menggunakan salah satu metode berikut:
- Mandiri. PGAdapter disediakan sebagai file JAR dan berjalan secara mandiri di JVM.
- Docker. PGAdapter juga dikemas sebagai image Docker.
- Cloud Run. PGAdapter dapat di-deploy sebagai proxy file bantuan di Cloud Run.
- Proxy file bantuan. Penggunaan standar sebagai proxy file bantuan berada di cluster Kubernetes.
- Dalam proses. Kode aplikasi Java Anda dapat menggunakan file JAR yang disediakan untuk membuat dan memulai instance PGAdapter.
Untuk mengetahui detail tentang metode ini, lihat Memulai PGAdapter.
Otorisasi dengan PGAdapter
PGAdapter menentukan akun layanan atau akun utama Identity and Access Management (IAM) lainnya yang akan digunakan untuk koneksi dengan memeriksa kredensial yang Anda tentukan saat memulainya. Izin IAM yang diberikan ke akun utama tersebut menentukan izin yang dimiliki aplikasi yang terhubung pada database.
Ketika kontrol akses terperinci sedang digunakan, secara opsional Anda dapat menentukan peran database saat memulai PGAdapter. Jika Anda menentukan peran database,
PGAdapter akan menggunakan kontrol akses terperinci saat mengirimkan permintaan kueri
dan pernyataan DML. Tindakan ini memerlukan izin IAM spanner.databases.useRoleBasedAccess
dan, untuk peran database selain public
, izin spanner.databaseRoles.use
. Hak istimewa yang diberikan ke
peran database menentukan operasi yang dapat dilakukan
oleh aplikasi yang terhubung. Jika Anda tidak menentukan peran database, izin level database yang diberikan ke akun utama IAM akan digunakan. Untuk menjalankan pernyataan DDL, akun utama harus memiliki
izin spanner.databases.updateDdl
.
Untuk mengetahui informasi selengkapnya, lihat Tentang kontrol akses terperinci dan Kontrol akses dengan IAM.
Langkah selanjutnya
- Memulai PGAdapter
- Pelajari repositori GitHub PGAdapter lebih lanjut.
- Pelajari lebih lanjut driver dan ORM PostgreSQL untuk tabel driver PostgreSQL dan ORM yang didukung PGAdapter.