Pesan error Cloud SQL untuk PostgreSQL

Halaman ini membahas beberapa pesan error yang ditemukan di Cloud SQL.

Ringkasan

Pesan error di Cloud SQL berasal dari banyak sumber dan muncul di banyak tempat. Beberapa pesan error berasal dari database itu sendiri, sebagian dari layanan Cloud SQL, sebagian dari aplikasi klien, dan sebagian lagi ditampilkan dengan panggilan ke Cloud SQL Admin API.

Halaman ini berisi beberapa error paling umum yang terlihat di Cloud SQL. Jika Anda tidak menemukan kode atau pesan error yang dicari di sini, Anda dapat mencari materi referensi sumber di sini:

Jika Anda tidak menemukan materi referensi untuk pesan error yang dilihat, Anda juga dapat melakukan penelusuran di beberapa tempat berikut di mana pengguna lain mungkin memiliki pengalaman yang relevan:

Error operasional

A | B | C | D | E | F | G | I | L | M | N | O | P | Q | R | S | T | U | W

Pesan error Pemecahan masalah
Akses ditolak untuk pengguna'XXX'@'XXX' (menggunakan sandi: XXX) Kemungkinan ada beberapa penyebabnya, termasuk:
  • Nama pengguna (atau kata sandi) salah.
  • Pengguna terhubung dari URL selain @XXX.
  • Pengguna tidak memiliki hak istimewa yang benar untuk database yang mereka coba hubungkan.

Cobalah untuk melakukan hal ini ...

  • Verifikasi nama pengguna dan sandi yang sesuai.
  • Periksa asal koneksi untuk melihat apakah cocok dengan URL dimana pengguna memiliki hak istimewa aksesnya.
  • Periksa pemberian hak istimewa pengguna di database.
Rentang IP yang dialokasikan tidak ditemukan di jaringan. Peering VPC tidak diperbaharui setelah rentang yang dialokasikan diubah atau dihapus.

Anda perlu mengubah koneksi pribadi. Gunakan perintah berikut, dan pastikan untuk menggunakan --force argumen:

gcloud services vpc-peerings update \
--network=VPC_NETWORK \
--ranges=ALLOCATED_RANGES \
--service=servicenetworking.googleapis.com \
--force
Pesan error Pemecahan masalah
Permintaan buruk. Pesan ini dapat disebabkan oleh banyak hal. Illegal Argument adalah salah satu yang paling umum. Dalam hal ini, permintaan menggunakan argumen yang salah atau nilai yang tidak valid. Untuk penyebab lainnya, pesan error mungkin berisi petunjuk yang berguna.

Untuk itu, Illegal Argument, periksa permintaan untuk memastikan setiap argumen diizinkan dan setiap nilai untuk argumen tersebut valid. Untuk semua penyebab lainnya, periksa file log untuk melihat apakah ada informasi lebih lanjut di sana.

Pesan error Pemecahan masalah
Tidak dapat memodifikasi rentang yang dialokasikan di CreateConnection. Mohon gunakan UpdateConnection. Peering VPC tidak diperbarui setelah rentang yang dialokasikan diubah atau dihapus.

Anda perlu memodifikasi koneksi pribadi. Gunakan perintah berikut, dan pastikan untuk menggunakan --force argumen:

gcloud services vpc-peerings update \
--network=VPC_NETWORK \
--ranges=ALLOCATED_RANGES \
--service=servicenetworking.googleapis.com \
--force
Reset koneksi oleh teman sekelas.

Jika Anda mencoba untuk menjalankan ekspor dan Cloud Storage tidak menerima data apa pun dalam jangka waktu tertentu, koneksi akan direset.

Coba ekspor manual menggunakan pg_dump.

Constraints/sql.restrictAuthorizedNetworks. Operasi clone diblokir oleh konfigurasi Authorized Networks. Authorized Networks dikonfigurasi untuk alamat IP publik di bagian Konektivitas pada konsol Google Cloud, dan cloning tidak diizinkan karena pertimbangan keamanan.

Hapus semua Authorized Networks entri dari instance Cloud SQL jika memungkinkan. Jika tidak, buat replika tanpa entri Authorized Networks apa pun.

Pesan error Pemecahan masalah
Database user tidak ada. gcloud sql connect --user hanya bekerja dengan pengguna postgres default.

Terhubung dengan pengguna default, lalu ubah pengguna.

Disk penuh. Ukuran disk instance utama dapat penuh selama pembuatan replika.

Edit instance utama untuk mengupgradenya ke ukuran disk yang lebih besar.

Pesan error Pemecahan masalah
Gagal membuat subnetwork. Tidak ada lagi alamat yang tersedia dalam rentang IP.

Tidak dapat menemukan blok gratis dalam rentang IP yang dialokasikan. Mohon alokasikan rentang baru untuk penyedia layanan ini.

Tidak ada lagi alamat yang tersedia dalam rentang IP yang dialokasikan.

Pertimbangkan kemungkinan skenario berikut:

  • Ukuran rentang IP yang dialokasikan untuk private service connect lebih kecil dari /24.
  • Ukuran rentang IP yang dialokasikan untuk private service connect terlalu kecil untuk jumlah instance Cloud SQL.
  • Persyaratan ukuran rentang IP yang dialokasikan akan lebih besar jika instance dibuat dalam beberapa region. Lihat ukuran rentang yang dialokasikan

Untuk setiap skenario di atas, Anda dapat memilih untuk memperluas rentang IP yang ada atau alokasikan rentang IP tambahanke private service connection.

Jika Anda mengalokasikan rentang baru, berhati-hatilah agar tidak membuat alokasi yang ada.

Setelah membuat rentang IP baru, perbarui peering VPC dengan perintah berikut:

gcloud services vpc-peerings update \
--service=servicenetworking.googleapis.com
--ranges=OLD_RESERVED_RANGE_NAME,NEW_RESERVED_RANGE_NAME \
--network=VPC_NETWORK
--project=PROJECT_ID \
--force

Jika Anda memperluas alokasi yang ada, berhati-hatilah untuk meningkatkan rentang alokasi saja dan tidak menguranginya. Misalnya, jika alokasi asli adalah 10.0.10.0/24, buat alokasi baru setidaknya 10.0.10.0/23.

Secara umum, jika memulai dari alokasi /24, mengurangi/mask sebanyak 1 untuk setiap kondisi (jenis grup instance tambahan, region tambahan) adalah aturan praktis yang baik. Misalnya, jika mencoba membuat kedua jenis grup instance pada alokasi yang sama, beralih dari /24 ke /23 sudah cukup.

Setelah memperluas rentang IP yang ada, update peering vpc dengan perintah berikut:

gcloud services vpc-peerings update \
--service=servicenetworking.googleapis.com
--ranges=RESERVED_RANGE_NAME \
--network=VPC_NETWORK \
--project=PROJECT_ID \
--force
Pesan error Pemecahan masalah
(gcloud.sql.connect) Sepertinya klien Anda tidak memiliki konektivitas ipv6 dan instance database tidak memiliki alamat ipv4. Anda mencoba terhubung ke instance IP pribadi menggunakan Cloud Shell.

Menghubungkan dari Cloud Shell ke instance yang hanya memiliki alamat IP pribadi saat ini tidak didukung.

Pesan error Pemecahan masalah
Error internal. Project tersebut mungkin tidak memiliki akun layanan Service Networking yang diperlukan untuk fitur ini.

Untuk memperbaiki izin layanan, nonaktifkan Service Networking API, tunggu lima menit, lalu aktifkan kembali.

Permintaan tidak valid: Konfigurasi Service Networking yang salah untuk instance. Service Networking API tidak diaktifkan dalam project.

Aktifkan Service Networking API di project Anda. Jika Anda melihat error ini saat mencoba menetapkan alamat IP pribadi ke instance Cloud SQL, dan menggunakan VPC Bersama, Anda juga perlu mengaktifkan Service Networking API untuk host proyek Anda.

Pesan error Pemecahan masalah
Pengaitan jaringan gagal. Service Networking API tidak diaktifkan dalam project.

Aktifkan Service Networking API di project Anda. Jika Anda melihat error ini saat mencoba menetapkan alamat IP pribadi ke instance Cloud SQL, dan menggunakan VPC Bersama, Anda juga perlu mengaktifkan Service Networking API untuk host proyek Anda.

Pesan error Pemecahan masalah
Operasi gagal karena operasi lain sudah berlangsung. Sebagian besar operasi di Cloud SQL bersifat sinkron. Anda hanya dapat menjalankan satu per satu.

Tunggu operasi sebelumnya selesai sebelum memulai yang lainnya.

Operasi tidak valid untuk instance ini. Error ini ditampilkan dari panggilan API ke instances.restoreBackup, yang berarti Anda tidak dapat memulihkan dari cadangan ke instance dengan ukuran penyimpanan (XX GB) yang lebih kecil dari ukuran cadangan (YY GB).

Edit instance target untuk meningkatkan ukuran penyimpanannya.

Pesan error Pemecahan masalah
Autentikasi sandi gagal untuk pengguna "postgres". Saat Anda membuat instance Cloud SQL untuk PostgreSQL yang baru, pengguna admin default postgres akan dibuat, tetapi bukan sandinya. Anda harus menyetel sandi untuk pengguna ini sebelum pengguna tersebut dapat login.

Pesan error Pemecahan masalah
Quota exceeded. Anda telah mencapai batas kuota per menit atau harian. Tinjau kuota dan batas untuk Cloud SQL.

Minta peningkatan kuota Anda dari konsol Google Cloud.

Pesan error Pemecahan masalah
Slot koneksi yang tersisa telah direservasi. Koneksi maksimum yang diizinkan telah tercapai.

Tingkatkan nilai flag max_connections. Lihat Mengonfigurasi flag database.

Permintaan tidak memiliki kunci API yang valid. Anda mungkin tidak memiliki file JSON kunci akun layanan yang valid atau mungkin tidak disimpan di lokasi yang diharapkan.

Verifikasi bahwa Anda memiliki file JSON kunci akun layanan yang valid di lokasi yang disimpan dalam variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS dan bahwa variabel tersebut mengarah ke lokasi yang benar.

Pesan error Pemecahan masalah
Error SSL: padding tidak valid. Error sertifikat server.

Buat sertifikat server baru dan rotasikan.

Terjadi error sistem.
  • Pengguna mungkin tidak memiliki semua izin Cloud Storage yang diperlukan.
  • Tabel database mungkin tidak ada.

Cobalah untuk melakukan hal ini ...

  • Periksa bahwa Anda setidaknya memiliki izin WRITER di bucket dan izin READER di file ekspor. Untuk informasi selengkapnya tentang cara mengonfigurasi kontrol akses di Cloud Storage, lihat Membuat dann Mengelola Daftar Kontrol Akses
  • Pastikan tabel ada. Jika tabel tersebut ada, konfirmasi bahwa Anda memiliki izin yang benar di bucket penyimpanan.
Pesan error Pemecahan masalah
Definisi tabel berubah. Selama proses ekspor, perubahan terjadi pada tabel.

Transaksi dump dapat gagal jika Anda menggunakan pernyataan berikut selama operasi ekspor:

  • ALTER TABLE
  • CREATE TABLE
  • DROP TABLE
  • RENAME TABLE
  • TRUNCATE TABLE

Hapus salah satu pernyataan berikut dari operasi dump.

Ukuran file sementara melampaui temp_file_limit. Flag temp_file_limit disetel terlalu rendah untuk penggunaan database Anda.

Perbesar ukuran temp_file_limit. Lihat Mengonfigurasi flag database.

(Waktu tunggu) selama ekspor. Format CSV dan SQL melakukan ekspor secara berbeda. Format SQL menyertakan seluruh database dan mungkin akan memerlukan waktu lebih lama untuk menyelesaikannya.

Gunakan format CSV dan jalankan beberapa tugas ekspor yang lebih kecil untuk mengurangi ukuran dan panjang setiap operasi.

Terlalu banyak koneksi. Menyetel nilai flag max_connections yang terlalu tinggi dapat menyebabkan error ini. Hal ini juga dapat disebabkan oleh pengaktifan flag yang tidak berurutan.

Turunkan nilai flag max_connections, atau hubungi dukungan pelanggan untuk meminta penghapusan flag diikuti dengan hard drain. Hal ini memaksa instance untuk memulai ulang pada host yang berbeda dengan konfigurasi baru, tanpa flag atau setelan.

Pesan error Pemecahan masalah
Tidak diizinkan untuk terhubung. Terdapat banyak penyebab karena otorisasi terjadi di berbagai level:
  • Pada level database, pengguna database harus ada dan sandinya cocok
  • Pada level project, pengguna mungkin tidak memiliki izin IAM yang benar, termasuk izin serviceusage.services.use atau cloudsql.instances.connect.
  • Di level jaringan, jika instance Cloud SQL menggunakan IP publik, IP sumber koneksi harus berada dalam jaringan resmi.

Cobalah untuk melakukan hal ini ...

  • Pastikan pengguna ada dan sandinya cocok.
  • Tetapkan peran Service Usage Consumer ke akun pengguna. Peran ini mencakup izin serviceusage.services.use.
  • Jika menggunakan IP publik, pastikan IP sumber berada dalam jaringan yang diberi otorisasi.
Pesan error Pemecahan masalah
x509: sertifikat tidak valid untuk nama apa pun. Masalah umum: Cloud SQL Proxy Dialer saat ini tidak kompatibel dengan Go 1.15.

Sampai diperbaiki, lihat diskusi ini di GitHub, yang menyertakan solusi.

error tidak diketahui

Tabel berikut menunjukkan beberapa kasus umum saat Unknown Error dapat terjadi, dan mencantumkan solusi tertentu yang berlaku. Namun, ini bukanlah daftar yang lengkap. Jika Anda tidak menemukan masalah di dalam tabel, periksa dengan issue tracker publik untuk Cloud SQL. Jika Anda tidak menemukan masalah di sana, pertimbangkan untuk mengirimkan laporan, atau meninjau opsi dukungan lainnya.

Operasi Kemungkinan masalah... Hal-hal yang perlu dicoba:
Pengguna ditambahkan Jika pengguna sudah ada dalam database, error ini dapat terjadi saat Anda mencoba menambahkannya. Periksa untuk memastikan pengguna belum ada dalam database.
Cadangan Jika Anda melihat hal ini selama pencadangan otomatis atau manual, kemungkinan disk instance penuh. Jika ukuran file sementara menggunakan terlalu banyak ruang, Anda dapat memulai ulang instance untuk menghapus file dan mengosongkan ruang disk. Jika tidak, Anda mungkin perlu mengupgrade instance Anda ke ukuran disk yang lebih besar.
Clone Hal ini dapat terjadi jika kekurangan resource di zona terpilih. Coba zona lain di region tersebut, atau tunggu dan coba lagi nanti.
Buat instance
  • Hal ini dapat terjadi saat Anda mencoba untuk menggunakan kembali nama yang sama dengan instance yang baru dihapus.
  • Hal ini juga dapat disebabkan oleh masalah konektivitas yang terputus-putus.
  • Log mungkin menunjukkan bahwa Service Networking API tidak diaktifkan untuk project.
  • Error ini juga terlihat saat mencoba untuk membuat beberapa instance secara paralel. Misalnya, skrip Terraform membuat upaya ini menjadi mungkin.
  • Penyebab lainnya dapat berupa resource tertentu telah habis atau batas kuota telah terlampaui. Cari entri seperti Quota 'INTERNAL_FORWARDING_RULES_WITH_TARGET_INSTANCE_PER_NETWORK' exceeded. Limit: 100.0 globally pada log
  • Error ini dapat terjadi jika pembuatan subnet gagal saat tidak ada lagi alamat yang tersedia dalam rentang IP.
  • Nama instance tidak dapat digunakan kembali hingga sekitar satu minggu setelah dihapus.
  • Jika terjadi masalah konektivitas yang terputus-putus, satu-satunya solusi adalah mencoba lagi.
  • Aktifkan Service Networking API untuk project.
  • Skrip pembuatan instance paralel hanya akan berhasil jika membuat salah satu dari instance. Modifikasi skrip untuk menunggu hingga setiap operasi pembuatan instance selesai sebelum melanjutkan ke tahap berikutnya.
  • Alokasikan rentang baru.
Membuat replika Kemungkinan ada error yang lebih spesifik dalam file log. Periksa log di Cloud Logging untuk menemukan error yang sebenarnya.

Jika error-nya adalah set Service Networking service account as servicenetworking.serviceAgent role on consumer project, nonaktifkan dan aktifkan kembali Service Networking API. Tindakan ini akan membuat akun layanan yang diperlukan untuk melanjutkan prosesnya.

Jika error-nya adalah The instance creation failed due to a permission error with the CMEK key defined, tinjau setelan kunci dan lokasi.

Ekspor Jika Anda melihat pesan ini saat mencoba mengekspor database ke bucket Cloud Storage, transfer mungkin gagal karena masalah bandwidth. Instance Cloud SQL mungkin berada di region yang berbeda dengan bucket Cloud Storage. Membaca dan menulis data dari satu benua ke benua lain melibatkan banyak penggunaan jaringan, dan dapat menyebabkan masalah terputus-putus seperti ini.
Failover (otomatis) Operasi failover otomatis dapat menghasilkan pesan error ini saat layanan mendeteksi bahwa instance utama masih responsif. Dalam kasus ini, tidak ada yang perlu dilakukan. Failover tidak akan terjadi karena tidak diperlukan.
Impor File impor dapat berisi pernyataan yang memerlukan peran superuser. Edit file tersebut untuk menghapus pernyataan apa pun yang memerlukan peran superuser.

Cloud SQL juga menggunakan beberapa biner pihak ketiga (misalnya, mysqld), yang dapat menghasilkan pesan error tidak dikenal. Error tersebut bersifat internal untuk biner pihak ketiga dan berada di luar cakupan Cloud SQL. Namun, terkadang error yang lebih spesifik dapat ditemukan di file log Cloud SQL pada waktu yang hampir bersamaan.

Selain itu, terkadang kode error tidak diketahui. Dalam hal ini, pesan lengkapnya dapat berupa Unknown Error Code.