Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Penting
Lakebase Autoscaling berada di Beta di wilayah berikut: eastus2, , westeuropewestus.
Lakebase Autoscaling adalah versi terbaru Lakebase dengan komputasi penskalaan otomatis, skala-ke-nol, percabangan, dan pemulihan instan. Untuk perbandingan fitur dengan Lakebase Provisioned, lihat memilih antar versi.
Halaman ini menjelaskan bagaimana Lakebase Postgres kompatibel dengan Postgres standar. Sebagai layanan Postgres terkelola, ada beberapa perbedaan dan batasan.
Dukungan versi Postgres
Lakebase Autoscaling mendukung Postgres 16 dan Postgres 17.
Dukungan ekstensi Postgres
Lakebase mendukung banyak ekstensi Postgres. Untuk daftar lengkapnya, lihat Ekstensi Postgres.
Sesi, memori, dan penyimpanan
Konteks sesi
Fitur skala-ke-nol Lakebase secara otomatis menutup koneksi tidak aktif setelah jangka waktu tidak ada aktivitas.
Saat koneksi ditutup, apa pun dalam konteks sesi, seperti tabel sementara, pernyataan yang disiapkan, kunci saran, dan perintah NOTIFY dan LISTEN , hilang.
Untuk menghindari kehilangan konteks tingkat sesi, Anda dapat menonaktifkan pengaturan skala ke nol. Namun, melakukannya berarti komputasi Anda berjalan 24/7.
Memory
Kueri SQL dan pembangunan indeks dapat menghasilkan data di dalam volume besar yang mungkin tidak pas dalam memori. Ukuran komputasi Anda menentukan jumlah memori yang tersedia.
Tabel yang tidak di-unlogged
Tabel yang tidak di-log adalah tabel yang tidak menulis ke log write-ahead Postgres (WAL). Tabel ini disimpan di penyimpanan lokal kompute dan tidak dapat dipertahankan ketika kompute dimulai ulang atau ketika skalanya turun ke nol. Ini tidak seperti Postgres standar, di mana tabel yang tidak di-log hanya dipotong jika terjadi penghentian proses abnormal. Selain itu, tabel yang tidak di-log dibatasi oleh ruang disk lokal komputasi. Lakebase menghitung alokasi 20 GiB ruang disk lokal atau 15 GiB kali ukuran komputasi maksimum (mana yang tertinggi) untuk file sementara yang digunakan oleh Postgres.
Tabel sementara
Tabel sementara hanya ada selama masa pakai sesi (atau secara opsional transaksi). Seperti tabel yang tidak di-log, tabel disimpan dalam penyimpanan lokal komputasi dan dibatasi oleh ruang disk lokal.
Log Postgres
Akses ke log Postgres tidak didukung.
Koleksi statistik
Statistik yang dikumpulkan oleh sistem statistik kumulatif Postgres tidak disimpan ketika komputasi (tempat Postgres berjalan) menskalakan ke nol. Untuk menghindari kehilangan statistik, Anda dapat menonaktifkan fitur skala-ke-nol. Namun, menonaktifkan skala ke nol juga berarti bahwa komputasi Anda akan berjalan 24/7.
Pengaturan parameter Postgres
Sebagai layanan Postgres terkelola, banyak parameter database ditetapkan berdasarkan ukuran komputasi. Lihat semua pengaturan parameter database Anda menggunakan:
SHOW ALL;
Anda dapat mengonfigurasi parameter yang memiliki user konteks di tingkat sesi, database, atau peran. Anda tidak dapat mengonfigurasi parameter di tingkat instans.
Perlihatkan parameter yang dapat diatur pada tingkat sesi, database, atau peran.
SELECT name FROM pg_settings WHERE context = 'user';Atur parameter untuk sesi.
SET maintenance_work_mem='1 GB';Atur parameter untuk semua sesi yang tersambung ke database.
ALTER DATABASE lakebase SET maintenance_work_mem='1 GB';Atur parameter untuk semua sesi dari pengguna tertentu.
ALTER USER "john@company.com" SET maintenance_work_mem='1 GB';
Pengodean dan kolasi database
Pengkodean basis data
Secara default, kolatasi C.UTF-8 digunakan. C.UTF-8 mendukung berbagai karakter yang dikodekan UTF-8.
Pengodean UTF8 (Unicode, pengodean lebar variabel 8-bit) juga didukung.
Untuk menampilkan pengodean dan kolade untuk database Anda, jalankan kueri berikut:
SELECT
pg_database.datname AS database_name,
pg_encoding_to_char(pg_database.encoding) AS encoding,
pg_database.datcollate AS collation,
pg_database.datctype AS ctype
FROM
pg_database
WHERE
pg_database.datname = 'your_database_name';
Nota
Di Postgres, Anda tidak dapat mengubah pengodean atau kolade database setelah dibuat.
Kolasi
Kolase adalah objek skema SQL yang memetakan nama SQL ke lokal yang disediakan oleh pustaka yang diinstal dalam sistem operasi.
Secara default, Lakebase menggunakan C.UTF-8 kolase. Penyedia lain yang didukung oleh Lakebase adalah icu, yang menggunakan pustaka ICU eksternal.
Lakebase menyediakan serangkaian lengkap lokal icu yang telah ditentukan sebelumnya jika Anda memerlukan pengurutan khusus lokal atau konversi kasus.
- Lihat semua lokal yang telah ditentukan sebelumnya:
SELECT * FROM pg_collation;
- Buat database dengan lokal yang telah
icuditentukan sebelumnya:
CREATE DATABASE my_arabic_db
LOCALE_PROVIDER icu
icu_locale 'ar-x-icu'
template template0;
- Tentukan lokal untuk kolom individual:
CREATE TABLE my_ru_table (
id serial PRIMARY KEY,
russian_text_column text COLLATE "ru-x-icu",
description text
);
Batasan fungsionalitas
Peran dan izin
- Anda tidak dapat mengakses sistem operasi host.
- Anda tidak dapat terhubung menggunakan Postgres
superuser.- Fungsionalitas apa pun yang memerlukan
superuserhak istimewa atau akses sistem file lokal langsung tidak diizinkan. -
databricks_superusermenggantikan peransuperuserPostgres. Untuk informasi tentang hak istimewa yang terkait dengan peran ini, lihat Mengelola peran.
- Fungsionalitas apa pun yang memerlukan
Replikasi
Replikasi data ke atau dari database Lakebase menggunakan replikasi logis asli Postgres saat ini belum tersedia.
Ruang tabel
Lakebase tidak mendukung ruang tabel Postgres. Mencoba membuat ruang tabel dengan CREATE TABLESPACE perintah menghasilkan kesalahan. Ini karena arsitektur cloud terkelola Lakebase, yang tidak mengizinkan akses sistem file langsung untuk lokasi penyimpanan kustom.
Jika Anda memiliki aplikasi atau skrip yang sudah ada yang menggunakan ruang tabel untuk mengatur objek database di berbagai perangkat penyimpanan, Anda harus menghapus atau memodifikasi referensi ini saat bermigrasi ke Lakebase.