FAQ Cloud SQL untuk PostgreSQL

Tentang

Apa itu Cloud SQL?
Cloud SQL adalah layanan yang menyediakan database SQL yang terkelola sepenuhnya di cloud. Cloud SQL menyediakan database PostgreSQL, SQL Server, dan MySQL.
Apa manfaat menggunakan Cloud SQL?
Dengan Cloud SQL, Anda dapat menyerahkan tugas-tugas biasa, tetapi penting, dan sering kali memakan waktu kepada Google — seperti menerapkan patch dan update, mengelola cadangan, dan mengonfigurasi replikasi — sehingga Anda dapat fokus dalam membuat aplikasi yang hebat. Karena kami menggunakan protokol kabel standar, Anda dapat terhubung dari hampir semua aplikasi, di mana saja.
Versi database apa yang tersedia dengan Cloud SQL? Bagaimana cara pembaruan dikelola?

Cloud SQL untuk PostgreSQL mendukung PostgreSQL 9.6, 10, 11, 12, 13, 14, dan 15 (default).

Update versi minor di-deploy sebagai bagian dari pemeliharaan terjadwal, tanpa perlu tindakan lebih lanjut dari Anda. Untuk mengetahui informasi selengkapnya tentang pembaruan, lihat Ringkasan pemeliharaan pada instance Cloud SQL.

Untuk melihat versi instance saat ini, buka Konsol Google Cloud, klik nama instance untuk membuka halaman Detail instance. Atau, Anda dapat menggunakan perintah gcloud sql instances describe.

Apakah Cloud SQL mendukung semua fitur database?
Cloud SQL mendukung sebagian besar fitur umum PostgreSQL. Untuk mengetahui daftar semua perbedaan antara PostgreSQL standar dan fungsi yang disediakan Cloud SQL, lihat Perbedaan antara Cloud SQL dan fungsi PostgreSQL standar.
Apakah ada batas ukuran atau QPS?
Tidak ada batas kueri per detik (QPS) untuk instance Cloud SQL. Untuk mengetahui informasi tentang koneksi, ukuran, dan batas khusus App Engine, lihat Kuota dan Batas.
Bagaimana cara saya mendapatkan pemberitahuan saat ada perubahan pada Cloud SQL?
Anda dapat mendaftar di forum google-cloud-sql-announce tempat kami memposting pengumuman dan berita tentang Cloud SQL.
Bagaimana cara saya melaporkan bug, meminta fitur, atau mengajukan pertanyaan?
Anda dapat melaporkan bug dan meminta fitur di grup google-cloud-sql-discuss kami. Anda dapat mengajukan pertanyaan di Stack Overflow. Untuk opsi dukungan lainnya, lihat halaman Dukungan Cloud SQL.
Kembali ke atas

Memulai

Mengapa instance baru saya yang tanpa data menunjukkan kapasitas disk yang digunakan?
Cloud SQL dan database menggunakan sejumlah ruang untuk metadata dan file sistem saat instance Anda dibuat.
Kembali ke atas

Penyimpanan, Replikasi, dan Autentikasi Data

Di mana data saya disimpan?

Data instance disimpan di region tempat instance berada. Jika Anda tidak menentukan lokasi penyimpanan, cadangan Anda akan disimpan di multiregion yang secara geografis paling dekat dengan lokasi instance Cloud SQL Anda. Misalnya, jika instance Cloud SQL Anda berada di us-central1, cadangan Anda akan disimpan di multi-regionus secara default. Namun, lokasi default seperti australia-southeast1 berada di luar multi-region. Multi-region terdekat adalah asia.

Apa itu zona?

Zona adalah entity independen di lokasi geografis tertentu tempat Anda dapat menjalankan resource Anda. Misalnya, zona bernama us-central1-a menunjukkan lokasi di Amerika Serikat bagian tengah.

Untuk mengetahui informasi selengkapnya tentang zona, lihat Resource Zona dalam dokumentasi Compute Engine.

Berapa batas penyimpanan?
Untuk mengetahui informasi tentang batas penyimpanan, lihat Kuota dan Batas.
Bagaimana cara data saya direplikasi?

Instance PostgreSQL menyediakan konfigurasi ketersediaan tinggi dan replika baca.

Jenis replika baca apa yang dapat saya buat?

Untuk informasi selengkapnya tentang replika baca, termasuk kasus penggunaan untuk setiap jenis, lihat Opsi Replikasi.

Bagaimana cara kerja failover Cloud SQL?

Untuk informasi tentang failover, lihat Ringkasan Konfigurasi Ketersediaan Tinggi.

Apakah data saya terenkripsi?
Data pelanggan Cloud SQL dienkripsi saat disimpan dalam tabel database, file sementara, dan cadangan. Koneksi eksternal dapat dienkripsi dengan menggunakan SSL, atau menggunakan Proxy Auth Cloud SQL.
Bagaimana enkripsi dikelola untuk data dalam penyimpanan?

Data Anda dienkripsi menggunakan Advanced Encryption Standard 256 bit (AES-256), atau yang lebih baik, dengan kunci simetris: yaitu, kunci yang sama digunakan untuk mengenkripsi data kapan data tersebut disimpan, dan untuk mendekripsinya saat akan digunakan. Kunci data ini sendiri dienkripsi menggunakan kunci yang disimpan dalam keystore yang aman, dan diubah secara rutin.

Untuk informasi selengkapnya, baca artikel Enkripsi dalam penyimpanan di Google Cloud.

Bagaimana enkripsi dikelola untuk data dalam pengiriman?

Google mengenkripsi dan mengautentikasi semua data dalam pengiriman di satu atau beberapa lapisan jaringan saat data dipindahkan ke luar batas fisik yang tidak dikontrol oleh Google atau atas nama Google. Data dalam pengiriman di dalam batas fisik yang dikontrol oleh atau atas nama Google umumnya diautentikasi, tetapi mungkin tidak dienkripsi secara default. Jika Anda terhubung ke instance menggunakan alamat IP publiknya, gunakan sertifikat SSL/TLS, agar data tetap aman selama transmisi. Anda dapat memilih tindakan keamanan tambahan apa yang akan diterapkan berdasarkan model ancaman Anda. Misalnya, Anda dapat mengonfigurasi SSL untuk koneksi intrazona ke Cloud SQL.

Untuk mengetahui detail selengkapnya, lihat Enkripsi dalam Pengiriman di Google Cloud.

Kembali ke atas

Migrasi Data

Bagaimana cara data dan batasan dimigrasikan ke Cloud SQL?
Selama proses migrasi, data akan dimigrasikan terlebih dahulu dan batasannya (misalnya, kunci utama, kunci asing, dan indeks) akan dibuat ulang pada instance nanti.
Bagaimana cara memigrasikan data lebih cepat?
Anda kini dapat memigrasikan data di tabel database secara paralel. Terdapat peningkatan performa karena Cloud SQL dapat mentransfer data dengan proses paralel dalam database. Anda dapat menyetel kecepatan transfer data oleh Cloud SQL ke min, optimal, atau max. Untuk mengetahui informasi selengkapnya, lihat Menggunakan impor terkelola untuk menyiapkan replikasi dari database eksternal.
Kembali ke atas

Backup dan Pemulihan

Bagaimana cara saya memulihkan instance?

Untuk memulihkan ke cadangan, Anda dapat menggunakan Konsol Google Cloud atau alat command linegcloud. Untuk detail selengkapnya, lihat Memulihkan Instance.

Untuk memulihkan instance ke titik waktu tertentu, Anda menggunakan pemulihan point-in-time. Untuk informasi selengkapnya, lihat Menggunakan pemulihan point-in-time.

Berapa biaya pencadangan?

Pencadangan dikenai biaya sesuai dengan tarif penyimpanan instance.

Untuk informasi selengkapnya tentang harga penyimpanan instance dan tarif instance, lihat Harga.

Dapatkah saya mengakses pencadangan otomatis yang sudah lebih dari tujuh hari?

Pencadangan otomatis dilakukan setiap hari dan secara default disimpan selama tujuh hari. Anda dapat mengonfigurasi nilai retensi cadangan dari satu hingga 365 cadangan. Pada akhir periode retensi, cadangan terlama akan dihapus. Pencadangan otomatis bersifat inkremental. File ini hanya berisi data yang berubah setelah pencadangan sebelumnya diambil. Cadangan terlama Anda memiliki ukuran yang serupa dengan database Anda. Saat cadangan terlama dihapus, ukuran cadangan terlama berikutnya akan bertambah sehingga cadangan penuh masih ada.

Perhatikan bahwa cadangan on-demand tidak dihapus sampai Anda menghapusnya secara manual.

Kapan saya harus menggunakan replikasi eksternal versus lintas region untuk perlindungan terhadap kegagalan regional?
Replikasi eksternal Replikasi lintas-region
Dikelola sendiri oleh pelanggan Replika lintas region yang dikelola Cloud SQL
Dapat mereplikasi antara instance non-Google Cloud dan Google Cloud Hanya dapat mereplikasi antar instance Cloud SQL
Untuk bermigrasi ke/dari Google Cloud guna meminimalkan periode nonaktif atau untuk perlindungan data hybrid/multi-cloud Untuk memigrasikan data antar-region Google Cloud guna meminimalkan periode nonaktif
Mendukung replikasi lintas versi utama Tidak mendukung replikasi lintas versi utama
Kembali ke atas

Mengelola Instance Anda

Tindakan apa yang dapat menyebabkan instance Cloud SQL dimulai ulang?
Instance Cloud SQL mungkin dimulai ulang saat Anda atau Cloud SQL melakukan tindakan berikut:
  • Perbarui
  • Buat
  • Tingkatkan replika
  • Pemeliharaan
  • Buat ulang replika
  • Failover
  • Mulai ulang
  • Pulihkan instance dari cadangan
  • Mengaktifkan ketersediaan tinggi pada instance yang ada (ini adalah update pada instance)
  • Menambahkan flag database yang perlu dimulai ulang

Memulai ulang instance tidak akan mengubah alamat IP publik atau IP pribadi dari instance tersebut.

Lihat bagian berikut: Berapa lama instance dimatikan selama memulai ulang?

Berapa lama instance dimatikan selama memulai ulang?

Saat instance dimulai ulang, sebagian besar instance dimatikan selama satu hingga dua menit. Sebelum instance dimatikan, semua koneksi akan diakhiri dan pekerjaan saat ini dibersihkan dari disk.

Untuk instance dengan beban besar, proses ini memerlukan waktu lebih lama, dan mungkin akan terlihat instance tersebut macet. Dalam kasus ini, mungkin perlu waktu hingga satu jam sampai instance dimatikan dan memulai ulang. Alasan instance memerlukan waktu lama untuk mematikan dan memulai ulang dapat mencakup ketika pengguna memiliki banyak transaksi tertulis atau ketika transaksi berjalan untuk waktu yang lama.

Dapatkah saya membuat database menjadi lebih besar atau lebih kecil?

Anda dapat meningkatkan jumlah penyimpanan yang tersedia untuk instance kapan saja tanpa menimbulkan periode nonaktif. Anda tidak dapat mengurangi ukuran penyimpanan instance. Anda juga dapat mengonfigurasi instance agar dapat secara otomatis meningkatkan kapasitas penyimpanannya ketika ruang hampir habis. Pelajari lebih lanjut.

Dapatkah saya mengupgrade dan mendowngrade vCPU?

Ya. Anda dapat mengubah jumlah vCPU yang Anda gunakan pada instance Anda. Anda dapat menambah atau mengurangi jumlah inti yang Anda gunakan sebanyak yang Anda inginkan. Biasanya diperlukan waktu kurang dari lima menit periode nonaktif untuk mengubah jumlah vCPU. Jika Anda meningkatkan jumlah vCPU pada instance utama edisi Cloud SQL Enterprise Plus, perubahan tersebut akan diterapkan dengan periode nonaktif yang mendekati nol.

Apakah saya perlu menggunakan konsol Google Cloud untuk mengelola Cloud SQL?
Tidak. Semua tugas pengelolaan yang dapat dilakukan menggunakan Konsol juga dapat dilakukan secara terprogram menggunakan Cloud SQL Admin API, atau diskrip menggunakan gcloud alat command line.
Bagaimana cara mengklaim kembali ruang penyimpanan yang digunakan oleh file sementara?
File sementara dapat bertambah saat kueri SQL membuat banyak tabel sementara. Untuk mengklaim kembali ruang yang digunakan oleh tabel sementara, Anda perlu memulai ulang database. Perhatikan bahwa memulai ulang database tidak akan mengurangi kapasitas disk yang disediakan yang dihasilkan dari pertumbuhan file sementara.
Dapatkah saya mengimpor atau mengekspor database tertentu?
Ya. Anda hanya dapat mengimpor atau mengekspor database tertentu; Anda tidak dapat mengimpor atau mengekspor lebih dari satu database dalam satu waktu. Untuk mengetahui informasi selengkapnya, lihat Mengimpor Data atau Mengekspor Data.
Dapatkah saya mengimpor atau mengekspor file CSV?
Anda dapat mengimpor atau mengekspor file CSV untuk MySQL atau PostgreSQL. Untuk informasi selengkapnya, lihat Membuat file CSV.

CSV saat ini tidak didukung di Cloud SQL untuk SQL Server.

Apakah saya memerlukan akun Cloud Storage untuk mengimpor atau mengekspor data ke instance?
Cloud SQL mendukung pengimporan dan pengeksporan database menggunakan file CSV atau pg_dump. Untuk informasi selengkapnya, lihat Mengekspor dan mengimpor menggunakan pg_dump dan pg_restore atau Mengekspor dan mengimpor menggunakan file CSV.
Jika saya menghapus instance, dapatkah saya menggunakan kembali nama instance tersebut?
Tentu saja.
Tingkat transaction isolation apa yang disediakan Cloud SQL?

Instance PostgreSQL: Cloud SQL menyediakan transaction isolation Read committed. Anda dapat mengubah tingkat isolasi transaksi untuk transaksi tertentu, tetapi biasanya nilai defaultnya lebih diutamakan. Untuk informasi selengkapnya, lihat Transaction Isolation di dokumentasi PostgreSQL.

Bagaimana cara melindungi instance saya dari penghapusan yang tidak disengaja?
Anda dapat mengaktifkan perlindungan penghapusan saat Anda membuat instance atau pada lain waktu. Jika setelan ini diaktifkan, Anda harus menonaktifkannya sebelum menghapus instance. Lihat Mencegah penghapusan instance.
Kembali ke atas

Insight

Mengapa saya tidak dapat menemukan contoh paket kueri di Insight?
Kita hanya memiliki contoh kueri untuk mendapatkan paket kueri karena dampak performanya terhadap kueri. Akibatnya, terkadang contoh rencana kueri tidak muncul.
Kembali ke atas

Harga dan Penagihan

Bagaimana cara saya mencoba Cloud SQL?
Instance terkecil adalah db-f1-micro. Anda dapat menggunakannya untuk mencoba layanan. Perhatikan bahwa instance inti bersama tidak tercakup dalam SLA.
Berapa banyak instance yang dapat saya buat dalam sebuah project?
Untuk mengetahui informasi tentang batas instance, lihat Kuota dan Batas.
Berapa ukuran instance database yang saya butuhkan? Berapa banyak RAM?
Secara umum, Anda dapat meningkatkan performa database Anda dengan memilih instance yang lebih besar dengan RAM dan CPU yang lebih besar. Hal ini meningkatkan performa banyak kueri yang melibatkan komputasi dalam jumlah besar, seperti kueri yang melibatkan penggabungan, ORDER BY, atau GROUPing, meskipun performa pembaruan yang memengaruhi satu baris tidak akan terlalu terpengaruh. Namun, semakin besar ukuran instance, makin besar latensi operasionalnya. Untuk informasi selengkapnya tentang ukuran dan harga instance, lihat halaman harga.
Bagaimana cara menghitung penggunaan instance saya?

Anda dikenakan biaya per menit selama instance aktif.

Bagaimana penyimpanan dihitung?
Penyimpanan dihitung berdasarkan jumlah penyimpanan yang telah Anda sediakan untuk instance Anda. Penyimpanan untuk pencadangan ditagih berdasarkan banyaknya ruang yang digunakan oleh cadangan Anda. Penyimpanan akan dikenakan biaya baik saat instance Anda aktif maupun nonaktif.
Bagaimana cara melihat jumlah tagihan saya?
Tab Billing pada Konsol Google Cloud menampilkan tagihan yang dikenakan pada instance Anda sejak tagihan terakhir diterbitkan.
Apa yang terjadi jika instance saya mencapai ukuran yang diizinkan?
Jika instance Anda mencapai ukuran penyimpanan yang disediakan, dan Anda tidak mengaktifkan peningkatan penyimpanan otomatis atau telah mencapai batas yang dikonfigurasi, penulisan berikutnya ke database tidak diizinkan sampai Anda meningkatkan ukuran penyimpanan. Peningkatan ukuran penyimpanan tidak memerlukan proses mulai ulang atau periode nonaktif instance.
Mengapa instance saya ditangguhkan?
Ini mungkin karena ada masalah dengan akun Google Cloud Anda. Anda dapat menentukan status penagihan dengan mengajukan Permintaan Dukungan Penagihan. Setelah masalah penagihan teratasi, instance akan kembali ke status dapat dijalankan dalam beberapa jam. Perhatikan bahwa instance MySQL yang ditangguhkan akan dihapus setelah 90 hari.
Mengapa instance saya dihapus?
Instance yang ditangguhkan selama 90 hari akan dihapus. Ini berlaku untuk instance dengan status SUSPENDED. Instance yang dihentikan, dengan status RUNNABLE, tidak akan dihapus.
Bagaimana cara membatalkan akun Cloud SQL saya?
Anda dapat menonaktifkan Cloud SQL untuk suatu project dengan membuka konsol Google Cloud, memilih project, memilih layanan API untuk membuka Dasbor API. Temukan Cloud SQL API dan klik Nonaktifkan untuk API tersebut.
Bagaimana cara menonaktifkan penagihan?
Anda dapat menonaktifkan penagihan dengan mengklik Nonaktifkan penagihan di panel Penagihan & pengaturan di Konsol Google Cloud untuk suatu project. Jika Anda menonaktifkan penagihan, Anda juga menonaktifkan layanan Cloud SQL. Pastikan Anda benar-benar ingin menonaktifkan layanan Cloud SQL sebelum Anda menonaktifkan penagihan.

Setelah menonaktifkan penagihan, Anda akan menerima satu tagihan terakhir untuk tagihan yang terjadi antara awal siklus penagihan dan saat Anda membatalkannya.

Kembali ke atas

Menggunakan Cloud SQL dengan App Engine

Dapatkah saya terhubung dari App Engine ke instance PostgreSQL?
Anda dapat terhubung dari aplikasi App Engine ke instance PostgreSQL, bergantung pada lingkungan dan bahasa yang Anda gunakan. Untuk mengetahui informasi selengkapnya, lihat Terhubung dari lingkungan standar App Engine, atau Terhubung dari lingkungan fleksibel App Engine.
Dapatkah aplikasi App Engine saya di AS mengakses instance Cloud SQL saya di Uni Eropa (dan sebaliknya)?

Jika Anda terhubung ke instance Cloud SQL, aplikasi App Engine Anda tidak harus berada di region yang sama. Namun, jarak yang lebih jauh antara instance Cloud SQL dan aplikasi App Engine Anda akan menyebabkan latensi koneksi ke database yang lebih besar.

Layanan database Google Cloud mana yang tepat untuk saya?
Hal ini bergantung pada persyaratan aplikasi Anda. Google Cloud menawarkan sejumlah opsi untuk menyimpan, mengelola, dan mengambil data Anda. Untuk mengetahui informasi selengkapnya, lihat Database Google Cloud.
Apakah saya perlu menginstal server database lokal untuk menggunakan Server Pengembangan App Engine?
Tidak. Anda dapat mengonfigurasi App Engine untuk menggunakan Cloud SQL atau server database yang diinstal secara lokal saat berjalan di server pengembangan.
Bahasa apa yang dapat saya gunakan untuk mengakses instance?
Lingkungan standar App Engine mendukung beberapa bahasa yang dapat Anda gunakan untuk terhubung ke instance Anda. Untuk informasi selengkapnya, lihat Terhubung dari lingkungan standar App Engine, atau Terhubung dari lingkungan fleksibel App Engine.

Jika tidak menggunakan App Engine, Anda dapat menggunakan bahasa apa pun yang memiliki konektor atau API terkait.

Dapatkah saya menggunakan Django dengan Cloud SQL?
Ya. Cloud SQL kompatibel dengan Django. Lihat Mulai Menggunakan Django.
Placeholder mana yang dapat saya gunakan di string kueri Python saya?
Pengguna Python hanya dapat menggunakan kode format %s dalam penggantian parameter. Oleh karena itu, pernyataan berikut tidak valid: cursor.execute('INSERT INTO entries (guestAge) VALUES (%d)', (age)).
Bagaimana cara mengelola koneksi?

Mengelola koneksi database Anda secara efektif merupakan aspek penting dari pengembangan aplikasi database, termasuk menggunakan penggabungan koneksi dan backoff eksponensial. Untuk mengetahui contoh cara menggunakan teknik ini dalam berbagai bahasa dan framework, lihat Mengelola koneksi database.

Untuk mempelajari batas koneksi instance lebih lanjut, lihat Kuota dan Batas.

Apa yang dimaksud dengan SQLException dengan pesan "Invalid connection ID"?
Ini berarti, koneksi tidak lagi terbuka di server dan dihapus oleh klien.  Anda tidak perlu memanggil 'close' pada koneksi ini; koneksi sudah ditutup.
Dapatkah saya mengakses instance Cloud SQL secara terprogram di luar App Engine?
Ya. Anda dapat mengakses instance Cloud SQL secara terprogram dari aplikasi eksternal dengan menggunakan bahasa apa pun yang didukung. Lihat Ringkasan penyambungan.
Kembali ke atas