Antarmuka PostgreSQL

Antarmuka PostgreSQL untuk Spanner memungkinkan Anda memanfaatkan infrastruktur Spanner yang terkelola sepenuhnya, skalabel, dan sangat tersedia menggunakan alat dan sintaksis PostgreSQL yang sudah dikenal. Halaman ini membantu Anda memahami kemampuan dan batasan antarmuka PostgreSQL.

Manfaat antarmuka PostgreSQL

  • Portabilitas: antarmuka PostgreSQL memberikan akses ke berbagai fitur Spanner, menggunakan skema, kueri, dan klien yang kompatibel dengan PostgreSQL open source. Hal ini menyederhanakan pemindahan aplikasi yang di-build di Spanner ke lingkungan PostgreSQL lain. Portabilitas ini memberikan fleksibilitas deployment dan mendukung skenario pemulihan dari bencana, seperti keluar dari stres.
  • Keakraban: jika sudah menggunakan PostgreSQL, Anda dapat memulai Spanner dengan cepat menggunakan banyak pernyataan dan alat PostgreSQL yang sama. Menggunakan PostgreSQL di seluruh portofolio database Anda berarti lebih sedikit variasi antara produk tertentu dan kumpulan praktik terbaik umum.
  • Spanner yang tidak berkompromi: karena dibuat berdasarkan fondasi Spanner yang ada, antarmuka PostgreSQL menyediakan semua manfaat ketersediaan, konsistensi, dan rasio harga-performa Spanner yang ada tanpa harus mengorbankan kemampuan apa pun yang tersedia di ekosistem GoogleSQL pelengkap.

Fitur PostgreSQL yang tidak didukung di Spanner

Penting untuk memahami bahwa antarmuka PostgreSQL menyediakan kemampuan Spanner melalui skema, jenis, kueri, dan klien yang kompatibel dengan PostgreSQL. Cloud SQL untuk PostgreSQL tidak mendukung semua fitur PostgreSQL. Memigrasikan aplikasi PostgreSQL yang ada ke Spanner, bahkan menggunakan antarmuka PostgreSQL untuk Spanner, mungkin memerlukan beberapa pengerjaan ulang untuk mengakomodasi kemampuan PostgreSQL yang tidak didukung atau perbedaan perilaku, seperti pengoptimalan kueri atau desain kunci utama. Namun, setelah dimigrasikan, beban kerja Anda dapat memanfaatkan keandalan Spanner dan kemampuan multi-model yang unik.

Daftar berikut memberikan informasi selengkapnya tentang fitur PostgreSQL yang didukung dan tidak didukung:

  • Fungsi PostgreSQL yang didukung: antarmuka PostgreSQL mendukung banyak fitur PostgreSQL yang paling sering digunakan. Hal ini mencakup bagian inti dari skema dan sistem jenis, banyak bentuk kueri umum, berbagai fungsi dan operator, serta aspek utama katalog sistem PostgreSQL. Aplikasi dapat menggunakan banyak klien PostgreSQL dengan terhubung melalui penerapan protokol wire PostgreSQL Spanner.
  • Beberapa fitur bahasa PostgreSQL tidak didukung: ekstensi, jenis data yang ditentukan pengguna, prosedur tersimpan yang ditentukan pengguna, dan fitur lainnya tidak didukung. Untuk mengetahui daftar lengkap, lihat Bahasa PostgreSQL di Spanner. Ada juga beberapa fitur di PostgreSQL yang berperilaku berbeda dari PostgreSQL open source. Untuk informasi selengkapnya, lihat Masalah umum di antarmuka PostgreSQL untuk Spanner.
  • Spanner dan bidang kontrol Spanner: database dengan antarmuka PostgreSQL menggunakan alat Spanner dan Google Cloud untuk menyediakan, mengamankan, memantau, dan mengoptimalkan instance. Spanner tidak mendukung alat, seperti pgAdmin untuk aktivitas administratif.
  • Dukungan klien dan protokol kabel: Spanner mendukung kemampuan kueri inti dari protokol kabel PostgreSQL menggunakan PGAdapter, proxy ringan yang berjalan bersama aplikasi Anda. Hal ini memungkinkan banyak klien Spanner berfungsi sebagaimana mestinya dengan database antarmuka PostgreSQL Spanner, sekaligus memanfaatkan endpoint global dan pengelolaan koneksi Spanner serta autentikasi IAM. Benchmarking internal Google menunjukkan bahwa PGAdapter tidak menambahkan latensi tambahan yang signifikan dibandingkan dengan koneksi langsung ke endpoint bawaan Spanner.

Administrasi dan Pengelolaan

Antarmuka PostgreSQL mendukung administrasi dan pengelolaan database Spanner Anda dengan fitur berikut:

  • Pengalaman terpadu: sediakan, kelola, dan pantau database yang mendukung antarmuka PostgreSQL menggunakan konsol, API, dan alat Spanner yang ada seperti Google Cloud CLI.
  • Konfigurasi fleksibel: konfigurasikan antarmuka PostgreSQL per database pada waktu pembuatan. Satu instance Spanner dapat mengakomodasi database antarmuka GoogleSQL dan PostgreSQL.
  • Manfaat bersama: kedua dialek database memiliki mesin database terdistribusi yang mendasarinya, yang memastikan skalabilitas, konsistensi, performa, dan keamanan yang konsisten.

Fitur

Antarmuka PostgreSQL Spanner menawarkan dua fitur utama yang memungkinkan integrasi dengan ekosistem PostgreSQL:

  • Dukungan dialek PostgreSQL

    Spanner menyediakan subset dialek SQL PostgreSQL, termasuk Data Query Language (DQL), Data Manipulation Language (DML), dan Data Definition Language (DDL). Selain itu, library ini mencakup ekstensi untuk mendukung fitur khusus Spanner seperti tabel interleaved, time to live (TTL), dan petunjuk kueri.

    Untuk informasi mendetail tentang elemen bahasa PostgreSQL yang didukung, lihat Bahasa PostgreSQL di Spanner. Untuk memahami cara menggunakan fitur Spanner dengan dialek PostgreSQL, lihat dokumentasi untuk fitur tertentu.

  • Dukungan klien PostgreSQL

    Spanner memungkinkan Anda terhubung ke database dari berbagai klien:

    • Alat ekosistem PostgreSQL: Anda dapat menggunakan alat yang sudah dikenal seperti driver JDBC PostgreSQL dan driver pgx PostgreSQL untuk menghubungkan aplikasi ke database antarmuka PostgreSQL. Untuk daftar driver, ORM, dan alat yang didukung, lihat Driver dan ORM PostgreSQL.

    • Alat command line psql: Lingkungan interaktif psql yang populer didukung, sehingga Anda dapat menjalankan kueri, menjelajahi metadata, dan memuat data langsung dari terminal.

    • PGAdapter: proxy ringan ini menyederhanakan pengelolaan dan autentikasi koneksi. Untuk detail selengkapnya, lihat ringkasan PGAdapter.

    • Klien Spanner: Spanner menyediakan klien Spanner open source untuk berbagai bahasa pemrograman (Java, Go, Python, Node.js, Ruby, PHP, C#, C++), beserta driver JDBC Spanner dan driver untuk paket SQL Go. Klien Spanner terhubung langsung ke endpoint global Spanner tanpa proxy. Namun, klien Spanner tidak menawarkan kompatibilitas dengan klien, ORM, atau alat PostgreSQL yang ada.

Praktik terbaik untuk menggunakan antarmuka PostgreSQL

Gunakan praktik terbaik berikut saat menggunakan antarmuka PostgreSQL:

  1. Hubungkan aplikasi Anda: gunakan kumpulan alat PostgreSQL yang didukung untuk konektivitas yang efisien.
  2. Berinteraksi dengan database: untuk pekerjaan interaktif, pilih antara opsi berikut:

Langkah selanjutnya