Sambungkan ke psql

Penting

Lakebase Autoscaling adalah versi terbaru Lakebase, dengan komputasi penskalaan otomatis, skala-ke-nol, percabangan, dan pemulihan instan. Untuk wilayah yang didukung, lihat Ketersediaan wilayah. Jika Anda adalah pengguna Lakebase Provisioned, lihat Lakebase Provisioned.

psql adalah klien baris perintah asli untuk PostgreSQL. Ini menyediakan sesi interaktif untuk mengirim perintah ke Postgres dan menjalankan kueri ad-hoc. Untuk informasi selengkapnya tentang psql, lihat referensi psql dalam dokumentasi PostgreSQL.

Prasyarat

  • psql versi 14 atau lebih tinggi terinstal pada sistem Anda
  • Proyek Lakebase dengan peran Postgres yang telah dikonfigurasi

Nota

Sebaiknya gunakan autentikasi kata sandi Postgres asli saat menyambungkan dengan psql. Kata sandi Postgres asli tidak kedaluwarsa per jam seperti token OAuth, membuatnya lebih cocok untuk aplikasi yang sering tidak dapat menyegarkan kredensial. Lihat Gambaran umum autentikasi untuk detail tentang metode autentikasi.

Untuk konfigurasi jaringan dan mendaftarkan dalam daftar izin alamat IP saat menggunakan firewall di sisi klien, lihat String Koneksi.

Menginstal psql

Jika Anda belum psql menginstal, ikuti langkah-langkah berikut:

MacOS (Intel)

brew install libpq
echo 'export PATH="/usr/local/opt/libpq/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

MacOS (Apple Silicon)

brew install libpq
echo 'export PATH="/opt/homebrew/opt/libpq/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

Linux

sudo apt update
sudo apt install postgresql-client

Windows

Unduh dan instal PostgreSQL dari postgresql.org/download/windows. Pastikan psql disertakan dalam penginstalan.

Menghubungkan ke database Anda

Cara termudah untuk menyambungkan menggunakan psql adalah dengan string koneksi.

  1. Navigasi ke Aplikasi Lakebase dan pilih proyek Anda
  2. Klik Sambungkan untuk membuka modal koneksi database
  3. Pilih cabang, komputasi, dan database yang ingin Anda sambungkan
  4. Pilih peran Postgres dari menu dropdown (sebaiknya gunakan peran Postgres asli dengan autentikasi kata sandi)
  5. Salin string koneksi

Dialog koneksi role Postgres

Jalankan psql klien dengan string koneksi:

psql 'postgresql://role_name:password@ep-abc-123.databricks.com/databricks_postgres?sslmode=require'

Ganti nilai contoh dengan detail koneksi aktual Anda.

Nota

Lakebase mengharuskan semua koneksi menggunakan enkripsi SSL/TLS. Parameter sslmode=require disertakan dalam semua string koneksi secara default.

Jalankan kueri

Setelah membuat koneksi, Anda dapat menjalankan kueri SQL secara langsung:

CREATE TABLE my_table AS SELECT now();
SELECT * FROM my_table;

Meta-commands

psql mendukung meta-command yang menyediakan pintasan untuk berinteraksi dengan database Anda. Perintah ini dimulai dengan garis miring terbalik (\) dan dapat secara signifikan mempercepat alur kerja Anda dengan menyediakan akses cepat ke skema database dan informasi penting lainnya tanpa perlu menulis kueri SQL lengkap.

Manfaat perintah-meta

Meta-command dapat mempercepat alur kerja Anda secara signifikan dengan:

  • Menyediakan akses cepat ke skema dan struktur database
  • Menampilkan objek database tanpa menulis kueri SQL lengkap
  • Mengelola koneksi dan sesi database
  • Mendapatkan bantuan tentang perintah SQL

Meta-command umum

Berikut adalah beberapa meta-command yang sering digunakan:

  • \l — Mencantumkan semua database
  • \c DATABASE_NAME — Menyambungkan ke database lain
  • \dt — Mencantumkan semua tabel dalam database saat ini
  • \d TABLE_NAME — Menjelaskan struktur tabel
  • \di — Indeks daftar
  • \dv — Tampilan daftar
  • \du — Mencantumkan peran
  • \dn — Mencantumkan skema
  • \df — Mencantumkan fungsi
  • \? — Tampilkan lembar cheat dari meta-command yang tersedia
  • \h [NAME] — Dapatkan bantuan untuk perintah Postgres apa pun (misalnya, \h SELECT)
  • \q — Keluar dari psql

Perintah meta informasional

Untuk informasi terperinci tentang objek database (opsi: S = tampilkan objek sistem, + = detail tambahan):

Informational
  (options: S = show system objects, + = additional detail)
  \d[S+]                 list tables, views, and sequences
  \d[S+]  NAME           describe table, view, sequence, or index
  \da[S]  [PATTERN]      list aggregates
  \dA[+]  [PATTERN]      list access methods
  \dAc[+] [AMPTRN [TYPEPTRN]]  list operator classes
  \dAf[+] [AMPTRN [TYPEPTRN]]  list operator families
  \dAo[+] [AMPTRN [OPFPTRN]]   list operators of operator families
  \dAp[+] [AMPTRN [OPFPTRN]]   list support functions of operator families
  \db[+]  [PATTERN]      list tablespaces
  \dc[S+] [PATTERN]      list conversions
  \dconfig[+] [PATTERN]  list configuration parameters
  \dC[+]  [PATTERN]      list casts
  \dd[S]  [PATTERN]      show object descriptions not displayed elsewhere
  \dD[S+] [PATTERN]      list domains
  \ddp    [PATTERN]      list default privileges
  \dE[S+] [PATTERN]      list foreign tables
  \des[+] [PATTERN]      list foreign servers
  \det[+] [PATTERN]      list foreign tables
  \deu[+] [PATTERN]      list user mappings
  \dew[+] [PATTERN]      list foreign-data wrappers
  \df[anptw][S+] [FUNCPTRN [TYPEPTRN ...]]
                         list [only agg/normal/procedure/trigger/window] functions
  \dF[+]  [PATTERN]      list text search configurations
  \dFd[+] [PATTERN]      list text search dictionaries
  \dFp[+] [PATTERN]      list text search parsers
  \dFt[+] [PATTERN]      list text search templates
  \dg[S+] [PATTERN]      list roles
  \di[S+] [PATTERN]      list indexes
  \dl[+]                 list large objects, same as \lo_list
  \dL[S+] [PATTERN]      list procedural languages
  \dm[S+] [PATTERN]      list materialized views
  \dn[S+] [PATTERN]      list schemas
  \do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]]
                         list operators
  \dO[S+] [PATTERN]      list collations
  \dp[S]  [PATTERN]      list table, view, and sequence access privileges
  \dP[itn+] [PATTERN]    list [only index/table] partitioned relations [n=nested]
  \drds [ROLEPTRN [DBPTRN]] list per-database role settings
  \drg[S] [PATTERN]      list role grants
  \dRp[+] [PATTERN]      list replication publications
  \dRs[+] [PATTERN]      list replication subscriptions
  \ds[S+] [PATTERN]      list sequences
  \dt[S+] [PATTERN]      list tables
  \dT[S+] [PATTERN]      list data types
  \du[S+] [PATTERN]      list roles
  \dv[S+] [PATTERN]      list views
  \dx[+]  [PATTERN]      list extensions
  \dX     [PATTERN]      list extended statistics
  \dy[+]  [PATTERN]      list event triggers
  \l[+]   [PATTERN]      list databases
  \lo_list[+]            list large objects
  \sf[+]  FUNCNAME       show a function's definition
  \sv[+]  VIEWNAME       show a view's definition
  \z[S]   [PATTERN]      same as \dp

Pengubah + menambahkan detail tambahan, dan pengubah S menyertakan objek sistem.

Untuk daftar lengkap meta-commands, jalankan \? di psql atau lihat psql Meta-Commands dalam dokumentasi PostgreSQL.

Opsi koneksi

Anda juga dapat menentukan detail koneksi menggunakan parameter individual:

psql -h ep-abc-123.databricks.com -p 5432 -U role_name -d databricks_postgres

Atau atur variabel lingkungan:

export PGHOST=ep-abc-123.databricks.com
export PGPORT=5432
export PGDATABASE=databricks_postgres
export PGUSER=role_name
export PGPASSWORD=your-password

psql

Untuk informasi selengkapnya tentang string koneksi dan opsi autentikasi, lihat Menyambungkan ke proyek Anda.