Memuat data PostgreSQL ke BigQuery

Anda dapat memuat data dari PostgreSQL ke BigQuery menggunakan konektor BigQuery Data Transfer Service untuk PostgreSQL. Konektor mendukung instance PostgreSQL yang dihosting di lingkungan lokal, Cloud SQL, dan penyedia cloud publik lainnya seperti Amazon Web Services (AWS) dan Microsoft Azure. Dengan BigQuery Data Transfer Service, Anda dapat menjadwalkan tugas transfer berulang yang menambahkan data terbaru dari PostgreSQL ke BigQuery.

Batasan

Transfer data PostgreSQL tunduk pada batasan berikut:

  • Jumlah maksimum operasi transfer serentak ke satu database PostgreSQL ditentukan oleh jumlah maksimum koneksi serentak yang didukung oleh database PostgreSQL. Jumlah tugas transfer serentak harus dibatasi hingga nilai yang lebih kecil dari jumlah maksimum koneksi serentak yang didukung oleh database PostgreSQL.
  • Satu konfigurasi transfer hanya dapat mendukung satu proses transfer data pada waktu tertentu. Jika transfer data kedua dijadwalkan untuk berjalan sebelum transfer pertama selesai, maka hanya transfer data pertama yang akan selesai, sedangkan transfer data lain yang tumpang-tindih dengan transfer pertama akan dilewati.

    Untuk menghindari transfer yang dilewati dalam satu konfigurasi transfer, sebaiknya Anda meningkatkan durasi waktu antara transfer data besar dengan mengonfigurasi frekuensi pengulangan.

  • Selama transfer data, konektor PostgreSQL mengidentifikasi kolom kunci yang diindeks dan dipartisi untuk mentransfer data Anda dalam batch paralel. Oleh karena itu, sebaiknya Anda menentukan kolom kunci utama atau menggunakan kolom yang diindeks dalam tabel untuk meningkatkan performa dan mengurangi tingkat error dalam transfer data. Pertimbangkan hal berikut:

    • Jika Anda memiliki batasan kunci utama atau terindeks, hanya jenis kolom berikut yang didukung untuk membuat batch paralel:
      • INTEGER
      • TINYINT
      • SMALLINT
      • FLOAT
      • REAL
      • DOUBLE
      • NUMERIC
      • BIGINT
      • DECIMAL
      • DATE
    • Transfer data PostgreSQL yang tidak menggunakan kunci utama atau kolom yang diindeks tidak dapat mendukung lebih dari 2.000.000 record per tabel.

Batasan transfer inkremental

Transfer PostgreSQL inkremental tunduk pada batasan berikut:

  • Anda hanya dapat memilih TIMESTAMP kolom sebagai kolom tanda air.
  • Penyerapan inkremental hanya didukung untuk aset dengan kolom watermark yang valid.
  • Nilai dalam kolom tanda air harus meningkat secara monoton.
  • Transfer inkremental tidak dapat menyinkronkan operasi penghapusan di tabel sumber.
  • Konfigurasi transfer tunggal hanya dapat mendukung penyerapan inkremental atau penuh.
  • Anda tidak dapat memperbarui objek dalam daftar asset setelah menjalankan penyerapan inkremental pertama.
  • Anda tidak dapat mengubah mode penulisan dalam konfigurasi transfer setelah menjalankan penyerapan inkremental pertama.
  • Anda tidak dapat mengubah kolom tanda air atau kunci utama setelah menjalankan penyerapan inkremental pertama.
  • Tabel BigQuery tujuan dikelompokkan menggunakan kunci utama yang diberikan dan tunduk pada batasan tabel berklaster.
  • Saat Anda memperbarui konfigurasi transfer yang ada ke mode penyerapan inkremental untuk pertama kalinya, transfer data pertama setelah pembaruan tersebut akan mentransfer semua data yang tersedia dari sumber data Anda. Setiap transfer data inkremental berikutnya hanya akan mentransfer baris baru dan yang diperbarui dari sumber data Anda.
  • Sebaiknya buat indeks pada kolom tanda air. Konektor ini menggunakan kolom tanda air untuk filter dalam transfer inkremental, sehingga pengindeksan kolom ini dapat meningkatkan performa.

Opsi penyerapan data

Bagian berikut memberikan informasi tentang opsi penyerapan data saat Anda menyiapkan transfer data PostgreSQL.

Konfigurasi TLS

Konektor PostgreSQL mendukung konfigurasi untuk keamanan tingkat transportasi (TLS) guna mengenkripsi transfer data Anda ke BigQuery. Konektor PostgreSQL mendukung konfigurasi TLS berikut:

  • Mode Enkripsi data, dan verifikasi CA dan nama host. Mode ini melakukan validasi penuh server menggunakan TLS melalui protokol TCPS. Fitur ini mengenkripsi semua data dalam pengiriman dan memverifikasi bahwa sertifikat server database ditandatangani oleh certificate authority (CA) tepercaya. Mode ini juga memeriksa apakah nama host yang Anda hubungkan sama persis dengan Nama Umum (CN) atau Nama Alternatif Subjek (SAN) pada sertifikat server. Mode ini mencegah penyerang menggunakan sertifikat yang valid untuk domain lain guna meniru server database Anda.

    Jika nama host Anda tidak cocok dengan CN atau SAN sertifikat, koneksi akan gagal. Anda harus mengonfigurasi resolusi DNS agar cocok dengan sertifikat atau menggunakan mode keamanan yang berbeda. Gunakan mode ini untuk opsi paling aman guna mencegah serangan person-in-the-middle (PITM).

  • Mode Enkripsi data, dan verifikasi CA saja. Mode ini mengenkripsi semua data menggunakan TLS melalui protokol TCPS dan memverifikasi bahwa sertifikat server ditandatangani oleh CA yang dipercaya oleh klien. Namun, mode ini tidak memverifikasi nama host server. Mode ini berhasil terhubung selama sertifikat valid dan diterbitkan oleh CA tepercaya, terlepas dari apakah nama host dalam sertifikat cocok dengan nama host yang Anda hubungkan.

    Gunakan mode ini jika Anda ingin memastikan bahwa Anda terhubung ke server yang sertifikatnya ditandatangani oleh CA tepercaya, tetapi nama host tidak dapat diverifikasi atau Anda tidak memiliki kontrol atas konfigurasi nama host.

  • Mode Khusus enkripsi. Mode ini mengenkripsi semua data yang ditransfer antara klien dan server. Tidak melakukan validasi sertifikat atau nama host apa pun.

    Mode ini memberikan tingkat keamanan tertentu dengan melindungi data dalam pengiriman, tetapi dapat rentan terhadap serangan PITM.

    Gunakan mode ini jika Anda perlu memastikan semua data dienkripsi, tetapi tidak dapat atau tidak ingin memverifikasi identitas server. Sebaiknya gunakan mode ini saat bekerja dengan VPC pribadi.

  • Mode Tidak ada enkripsi atau verifikasi. Mode ini tidak mengenkripsi data apa pun dan tidak melakukan verifikasi sertifikat atau hostname apa pun. Semua data dikirim sebagai teks biasa.

    Sebaiknya jangan gunakan mode ini di lingkungan tempat data sensitif ditangani. Sebaiknya gunakan mode ini hanya untuk tujuan pengujian di jaringan terisolasi yang tidak mengkhawatirkan keamanan.

Sertifikat Server Tepercaya (PEM)

Jika Anda menggunakan mode Enkripsi data, dan verifikasi CA serta nama host atau mode Enkripsi data, dan verifikasi CA, Anda juga dapat memberikan satu atau beberapa sertifikat yang dienkode PEM. Sertifikat ini diperlukan dalam beberapa skenario saat BigQuery Data Transfer Service perlu memverifikasi identitas server database Anda selama koneksi TLS:

  • Jika Anda menggunakan sertifikat yang ditandatangani oleh CA pribadi dalam organisasi Anda atau sertifikat yang ditandatangani sendiri, Anda harus memberikan rantai sertifikat lengkap atau sertifikat yang ditandatangani sendiri. Hal ini diperlukan untuk sertifikat yang dikeluarkan oleh CA internal layanan penyedia cloud terkelola, seperti Amazon Relational Database Service (RDS).
  • Jika sertifikat server database Anda ditandatangani oleh CA publik (misalnya, Let's Encrypt, DigiCert, atau GlobalSign), Anda tidak perlu memberikan sertifikat. Sertifikat root untuk CA publik ini telah diinstal sebelumnya dan dipercaya oleh BigQuery Data Transfer Service.

Anda dapat menentukan sertifikat berenkode PEM di kolom Sertifikat PEM Tepercaya dalam konfigurasi transfer, dengan persyaratan berikut:

  • Sertifikat harus berupa rantai sertifikat berenkode PEM yang valid.
  • Sertifikat harus benar sepenuhnya. Sertifikat yang tidak ada dalam rantai atau konten yang salah menyebabkan koneksi TLS gagal.
  • Untuk satu sertifikat, Anda dapat memberikan satu sertifikat yang ditandatangani sendiri dari server database.
  • Untuk rantai sertifikat lengkap yang diterbitkan oleh CA pribadi, Anda harus memberikan rantai kepercayaan lengkap. Hal ini mencakup sertifikat dari server database dan sertifikat CA perantara dan root.

Transfer penuh atau inkremental

Anda dapat menentukan cara data dimuat ke BigQuery dengan memilih preferensi penulisan Penuh atau Inkremental di konfigurasi transfer saat menyiapkan transfer PostgreSQL. Transfer inkremental didukung dalam Pratinjau.

Anda dapat mengonfigurasi transfer data penuh untuk mentransfer semua data dari kumpulan data PostgreSQL Anda dengan setiap transfer data.

Atau, Anda dapat mengonfigurasi transfer data inkremental (Pratinjau) untuk hanya mentransfer data yang berubah sejak transfer data terakhir, bukan memuat seluruh set data dengan setiap transfer data. Jika telah mengonfigurasi transfer data inkremental, Anda harus menentukan mode penulisan tambahkan atau upsert untuk menentukan cara data ditulis ke BigQuery selama transfer data inkremental. Bagian berikut menjelaskan mode penulisan yang tersedia.

Mode tulis tambahan

Mode penulisan penambahan hanya menyisipkan baris baru ke tabel tujuan Anda. Opsi ini menambahkan data yang ditransfer secara ketat tanpa memeriksa apakah ada data yang sudah ada, sehingga mode ini berpotensi menyebabkan duplikasi data dalam tabel tujuan.

Saat memilih mode penambahan, Anda harus memilih kolom watermark. Kolom penanda waktu diperlukan agar konektor PostgreSQL dapat melacak perubahan dalam tabel sumber.

Untuk transfer PostgreSQL, sebaiknya pilih kolom yang hanya diperbarui saat data dibuat, dan tidak akan berubah dengan pembaruan berikutnya—misalnya, kolom CREATED_AT.

Mode penulisan upsert

Mode penulisan upsert memperbarui baris atau menyisipkan baris baru di tabel tujuan dengan memeriksa kunci utama. Anda dapat menentukan kunci utama agar konektor PostgreSQL dapat menentukan perubahan yang diperlukan untuk menjaga tabel tujuan tetap terbaru dengan tabel sumber. Jika kunci primer yang ditentukan ada di tabel BigQuery tujuan selama transfer data, konektor PostgreSQL akan memperbarui baris tersebut dengan data baru dari tabel sumber. Jika kunci primer tidak ada selama transfer data, konektor PostgreSQL akan menyisipkan baris baru.

Saat memilih mode upsert, Anda harus memilih kolom watermark dan kunci utama:

  • Kolom tanda air diperlukan agar konektor PostgreSQL dapat melacak perubahan pada tabel sumber.

    Pilih kolom tanda air yang diperbarui setiap kali baris diubah. Kami merekomendasikan kolom yang mirip dengan kolom UPDATED_AT atau LAST_MODIFIED.

  • Kunci utama dapat berupa satu atau beberapa kolom di tabel Anda yang diperlukan agar konektor PostgreSQL dapat menentukan apakah perlu menyisipkan atau memperbarui baris.

    Pilih kolom yang berisi nilai non-null yang unik di semua baris tabel. Sebaiknya gunakan kolom yang menyertakan ID yang dibuat sistem, kode referensi unik (misalnya, ID yang bertambah otomatis), atau ID urutan berbasis waktu yang tidak dapat diubah.

    Untuk mencegah kemungkinan hilangnya data atau kerusakan data, kolom kunci utama yang Anda pilih harus memiliki nilai unik. Jika Anda meragukan keunikan kolom kunci utama yang Anda pilih, sebaiknya gunakan mode penulisan penambahan.

Perilaku penyerapan inkremental

Saat Anda membuat perubahan pada skema tabel di sumber data, transfer data inkremental dari tabel tersebut akan tercermin di BigQuery dengan cara berikut:

Perubahan pada sumber data Perilaku penyerapan inkremental
Menambahkan kolom baru Kolom baru ditambahkan ke tabel BigQuery tujuan. Semua data sebelumnya untuk kolom ini akan memiliki nilai null.
Menghapus kolom Kolom yang dihapus tetap ada di tabel BigQuery tujuan. Entri baru ke kolom yang dihapus ini diisi dengan nilai null.
Mengubah jenis data dalam kolom Konektor hanya mendukung konversi jenis data yang didukung oleh pernyataan DDL ALTER COLUMN. Konversi jenis data lainnya akan menyebabkan transfer data gagal.

Jika Anda mengalami masalah, sebaiknya buat konfigurasi transfer baru.

Mengganti nama kolom Kolom asli tetap ada di tabel BigQuery tujuan seperti apa adanya, sementara kolom baru ditambahkan ke tabel tujuan dengan nama yang diperbarui.

Sebelum memulai

Peran yang diperlukan

Jika ingin menyiapkan notifikasi operasi transfer untuk Pub/Sub, pastikan Anda memiliki izin Identity and Access Management (IAM) pubsub.topics.setIamPolicy. Izin Pub/Sub tidak diperlukan jika Anda hanya menyiapkan notifikasi email. Untuk informasi selengkapnya, lihat Notifikasi operasi BigQuery Data Transfer Service.

Untuk mendapatkan izin yang diperlukan guna membuat transfer data BigQuery Data Transfer Service, minta administrator untuk memberi Anda peran IAM BigQuery Admin (roles/bigquery.admin) di project Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin yang diperlukan untuk membuat transfer data BigQuery Data Transfer Service. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk membuat transfer data BigQuery Data Transfer Service:

  • Izin BigQuery Data Transfer Service:
    • bigquery.transfers.update
    • bigquery.transfers.get
  • Izin BigQuery:
    • bigquery.datasets.get
    • bigquery.datasets.getIamPolicy
    • bigquery.datasets.update
    • bigquery.datasets.setIamPolicy
    • bigquery.jobs.create

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Untuk mengetahui informasi selengkapnya, lihat Memberikan akses bigquery.admin.

Koneksi jaringan

Jika alamat IP publik tidak tersedia untuk koneksi database PostgreSQL, Anda harus menyiapkan lampiran jaringan.

Untuk petunjuk mendetail tentang penyiapan jaringan yang diperlukan, lihat dokumen berikut:

Menyiapkan transfer data PostgreSQL

Tambahkan data PostgreSQL ke BigQuery dengan menyiapkan konfigurasi transfer menggunakan salah satu opsi berikut:

Konsol

  1. Buka halaman Data transfers.

    Buka Data transfers

  2. Klik Create transfer.

  3. Di bagian Source type, untuk Source, pilih PostgreSQL.

  4. Di bagian Detail sumber data, lakukan hal berikut:

    • Untuk Network attachment, pilih lampiran jaringan yang ada atau klik Create Network Attachment. Untuk mengetahui informasi selengkapnya, lihat bagian Koneksi jaringan dalam dokumen ini.
    • Untuk Host, masukkan nama host atau alamat IP server database PostgreSQL.
    • Untuk Nomor port, masukkan nomor port untuk server database PostgreSQL.
    • Untuk Nama database, masukkan nama database PostgreSQL.
    • Untuk Nama Pengguna, masukkan nama pengguna pengguna PostgreSQL yang memulai koneksi database PostgreSQL.
    • Untuk Sandi, masukkan sandi pengguna PostgreSQL yang memulai koneksi database PostgreSQL.
    • Untuk TLS Mode, pilih opsi dari menu. Untuk mengetahui informasi selengkapnya tentang mode TLS, lihat Konfigurasi TLS.
    • Untuk Trusted PEM Certificate, masukkan sertifikat publik certificate authority (CA) yang menerbitkan sertifikat TLS server database. Untuk mengetahui informasi selengkapnya, lihat Sertifikat Server Tepercaya (PEM).
    • Untuk Aktifkan pemetaan lama, pilih benar (default) untuk menggunakan pemetaan jenis data lama. Pilih false untuk menggunakan pemetaan jenis data yang diperbarui. Untuk mengetahui informasi selengkapnya tentang pembaruan pemetaan jenis data, lihat 16 Maret 2027. server database. Untuk mengetahui informasi selengkapnya, lihat Sertifikat Server Tepercaya (PEM).
    • Untuk Ingestion type, pilih Full atau Incremental.
      • Jika Anda memilih Incremental (Pratinjau), untuk Write mode, pilih Append atau Upsert. Untuk mengetahui informasi selengkapnya tentang berbagai mode penulisan, lihat Transfer penuh atau inkremental.
    • Untuk Objek PostgreSQL yang akan ditransfer, klik Jelajahi.

      Pilih objek yang akan ditransfer ke set data tujuan BigQuery. Anda juga dapat memasukkan objek secara manual untuk disertakan dalam transfer data di kolom ini.

      • Jika Anda telah memilih Tambahkan sebagai mode penulisan inkremental, Anda harus memilih kolom sebagai kolom tanda air.
      • Jika Anda telah memilih Upsert sebagai mode penulisan inkremental, Anda harus memilih kolom sebagai kolom tanda air, lalu memilih satu atau beberapa kolom sebagai kunci utama.
  5. Di bagian Transfer config name, untuk Display name, masukkan nama untuk transfer. Nama transfer dapat berupa nilai apa pun yang memungkinkan Anda mengidentifikasi transfer jika perlu mengubahnya nanti.

  6. Di bagian Opsi jadwal, lakukan tindakan berikut:

    • Pilih frekuensi pengulangan. Jika memilih opsi Jam, Hari (default), Minggu, atau Bulan, Anda juga harus menentukan frekuensinya. Anda juga dapat memilih opsi Kustom untuk membuat frekuensi pengulangan yang lebih spesifik. Jika Anda memilih opsi On-demand, transfer data ini hanya berjalan saat Anda memicu transfer secara manual.
    • Jika berlaku, pilih opsi Start now atau Start at a set time dan masukkan tanggal mulai dan waktu proses.
  7. Di bagian Destination settings, untuk Dataset, pilih set data yang Anda buat untuk menyimpan data Anda, atau klik Create new dataset dan buat set data yang akan digunakan sebagai set data tujuan.

  8. Opsional: Di bagian Opsi notifikasi, lakukan hal berikut:

    • Untuk mengaktifkan notifikasi email, klik tombol Notifikasi email ke posisi aktif. Saat Anda mengaktifkan opsi ini, administrator transfer akan menerima notifikasi email saat proses transfer gagal.
    • Untuk mengonfigurasi notifikasi operasi Pub/Sub untuk transfer Anda, klik tombol Notifikasi Pub/Sub ke posisi aktif. Anda dapat memilih nama topik atau mengklik Buat topik untuk membuatnya.
  9. Klik Simpan.

bq

Masukkan perintah bq mk dan berikan flag pembuatan transfer --transfer_config:

bq mk
    --transfer_config
    --project_id=PROJECT_ID
    --data_source=DATA_SOURCE
    --display_name=DISPLAY_NAME
    --target_dataset=DATASET
    --params='PARAMETERS'

Ganti kode berikut:

  • PROJECT_ID (opsional): Cloud de Confiance project ID Anda. Jika tanda --project_id tidak diberikan untuk menentukan project tertentu, project default akan digunakan.
  • DATA_SOURCE: sumber data, yaitu postgresql.
  • DISPLAY_NAME: nama tampilan untuk konfigurasi transfer data. Nama transfer dapat berupa nilai apa pun yang memungkinkan Anda mengidentifikasi transfer jika perlu mengubahnya nanti.
  • DATASET: set data target untuk konfigurasi transfer data.
  • PARAMETERS: parameter untuk konfigurasi transfer yang dibuat dalam format JSON. Contoh: --params='{"param":"param_value"}'. Berikut adalah parameter untuk transfer PostgreSQL:

    • connector.networkAttachment (opsional): nama lampiran jaringan untuk terhubung ke database PostgreSQL.
    • connector.database: nama database PostgreSQL.
    • connector.endpoint.host: nama host atau alamat IP database.
    • connector.endpoint.port: nomor port database.
    • connector.authentication.username: nama pengguna pengguna database.
    • connector.authentication.password: sandi pengguna database.
    • connector.tls.mode: tentukan konfigurasi TLS yang akan digunakan dengan transfer ini:
      • ENCRYPT_VERIFY_CA_AND_HOST untuk mengenkripsi data, dan memverifikasi CA dan nama host
      • ENCRYPT_VERIFY_CA untuk mengenkripsi data, dan hanya memverifikasi CA
      • ENCRYPT_VERIFY_NONE hanya untuk enkripsi data
      • DISABLE untuk tidak ada enkripsi atau verifikasi
    • connector.tls.trustedServerCertificate: (opsional) berikan satu atau beberapa sertifikat yang dienkode PEM. Wajib hanya jika connector.tls.mode adalah ENCRYPT_VERIFY_CA_AND_HOST atau ENCRYPT_VERIFY_CA.
    • ingestionType: tentukan FULL atau INCREMENTAL. Transfer inkremental didukung dalam Pratinjau. Untuk mengetahui informasi selengkapnya, lihat Transfer penuh atau inkremental.
    • writeMode: tentukan WRITE_MODE_APPEND atau WRITE_MODE_UPSERT.
    • watermarkColumns: menentukan kolom dalam tabel Anda sebagai kolom watermark. Kolom ini wajib diisi untuk transfer inkremental.
    • primaryKeys: menentukan kolom dalam tabel Anda sebagai kunci utama. Kolom ini wajib diisi untuk transfer inkremental.
    • assets: daftar nama tabel PostgreSQL yang akan ditransfer dari database PostgreSQL sebagai bagian dari transfer.

Misalnya, perintah berikut membuat transfer PostgreSQL bernama My Transfer:

bq mk
    --transfer_config
    --target_dataset=mydataset
    --data_source=postgresql
    --display_name='My Transfer'
    --params='{"assets":["DB1/PUBLIC/DEPARTMENT","DB1/PUBLIC/EMPLOYEES"],
        "connector.authentication.username": "User1",
        "connector.authentication.password":"ABC12345",
        "connector.database":"DB1",
        "connector.endpoint.host":"192.168.0.1",
        "connector.endpoint.port":5432,
        "ingestionType":"incremental",
        "writeMode":"WRITE_MODE_APPEND",
        "watermarkColumns":["createdAt","createdAt"],
        "primaryKeys":[['dep_id'], ['report_by','report_title']],
        "connector.tls.mode": "ENCRYPT_VERIFY_CA_AND_HOST",
        "connector.tls.trustedServerCertificate": "PEM-encoded certificate"}'

Saat Anda menentukan beberapa aset selama transfer inkremental, nilai kolom watermarkColumns dan primaryKeys sesuai dengan posisi nilai di kolom assets. Dalam contoh berikut, dep_id sesuai dengan tabel DB1/USER1/DEPARTMENT, sedangkan report_by dan report_title sesuai dengan tabel DB1/USER1/EMPLOYEES.

      "primaryKeys":[['dep_id'], ['report_by','report_title']],
      "assets":["DB1/USER1/DEPARTMENT","DB1/USER1/EMPLOYEES"],
  

API

Gunakan metode projects.locations.transferConfigs.create dan berikan instance resource TransferConfig.

Saat Anda menyimpan konfigurasi transfer, konektor PostgreSQL akan otomatis memicu eksekusi transfer sesuai dengan opsi jadwal Anda. Dengan setiap proses transfer, konektor PostgreSQL mentransfer semua data yang tersedia dari PostgreSQL ke BigQuery.

Untuk menjalankan transfer data secara manual di luar jadwal rutin, Anda dapat memulai operasi pengisian ulang.

Pemetaan jenis data

Tabel berikut memetakan jenis data PostgreSQL ke jenis data BigQuery yang sesuai.

Jenis data PostgreSQL Jenis data BigQuery Jenis data BigQuery yang diperbarui
array STRING
bigint INTEGER
bigserial INTEGER
bit(n) STRING
bit varying(n) STRING
boolean BOOLEAN
box STRING
bytea BYTES
character STRING
character varying STRING
cidr STRING
circle STRING
circularstring STRING
compoundcurve STRING
curvepolygon STRING
date DATE
double precision FLOAT
enum STRING
geometrycollection STRING
inet STRING
integer INTEGER
interval STRING
json STRING JSON
jsonb STRING JSON
line STRING
linestring STRING
lseg STRING
macaddr STRING
macaddr8 STRING
money STRING
multicurve STRING
multilinestring STRING
multipoint STRING
multipolygon STRING
multisurface STRING
numeric(precision, scale)/decimal(precision, scale) NUMERIC
path STRING
point STRING
polygon STRING
polyhedralsurface STRING
range STRING
real FLOAT
serial INTEGER
smallint INTEGER
smallserial INTEGER
text STRING
time [ (p) ] [ without timezone ] TIMESTAMP
time [ (p) ] with time zone TIMESTAMP
tin STRING
timestamp [ (p) ] [ without timezone ] TIMESTAMP DATETIME
timestamp [ (p) ] with time zone TIMESTAMP
triangle STRING
tsquery STRING
tsvector STRING
uuid STRING
xml STRING

Memecahkan masalah

Jika Anda mengalami masalah saat menyiapkan transfer data, lihat Masalah transfer PostgreSQL.

Harga

Untuk mengetahui informasi harga tentang transfer PostgreSQL, lihat Harga Data Transfer Service.

Langkah berikutnya