Menggunakan psql di terminal

Ekstensi PostgreSQL untuk Visual Studio Code memungkinkan Anda membuka psql sesi yang secara otomatis terhubung ke database Anda dan menjalankan .sql file melalui psql. Anda mendapatkan akses penuh ke fitur native psql, termasuk perintah backslash, alur kerja COPY, dan skrip interaktif, tanpa meninggalkan editor.

Ekstensi meneruskan detail koneksi (host, port, database, nama pengguna, dan kata sandi) ke psql secara otomatis, sehingga Anda dapat mulai bekerja segera setelah membuka sesi.

Prerequisites

Note

Jika ekstensi tidak dapat menemukan psql, ekstensi menampilkan pemberitahuan kesalahan dengan tautan Pelajari Lebih Lanjut ke halaman unduhan PostgreSQL. Anda juga dapat mengarahkan ekstensi ke lokasi penginstalan kustom dengan pgsql.pgBinaryDirs pengaturan . Lihat Mengonfigurasi jalur biner psql.

Pilih antara psql dan editor kueri

Sebagian besar alur kerja PostgreSQL menggunakan kedua alat pada waktu yang berbeda:

Tool Paling cocok untuk
Editor kueri dan IntelliSense IntelliSense, hasil grafis, bagan, riwayat kueri, dan hasil ekspor.
psql Terminal Perintah backslash, eksekusi skrip secara native, alur kerja \copy, dan pemecahan masalah melalui terminal.

Buka terminal yang tersambung

psql Buka sesi yang secara otomatis tersambung ke database tertentu. Ekstensi menjalankan psql dengan flag -h, -p, -d, dan -U, serta menetapkan variabel lingkungan PGPASSWORD, sehingga Anda tidak perlu memasukkan detail koneksi secara manual.

  1. Di pohon Koneksi , klik kanan simpul database.
  2. Pilih Sambungkan dengan PSQL.

Terminal tugas Visual Studio Code terbuka dengan psql tersambung ke database yang dipilih. Tab terminal diberi nama PSQL: <nama> profil.

Anda juga dapat menjalankan perintah ini dari Palet Perintah (Ctrl+Shift+P / Cmd+Shift+P): cari PGSQL: Sambungkan dengan PSQL.

Note

Untuk koneksi Azure Database for PostgreSQL yang menggunakan autentikasi Microsoft Entra ID, ekstensi memvalidasi token autentikasi sebelum meluncurkan psql dan meneruskan token sebagai kata sandi. Sesi Anda tetap terhubung tanpa perlu autentikasi ulang manual.

Menjalankan file SQL

Jalankan .sql file melalui psql menggunakan koneksi dari editor aktif. Output muncul di terminal tugas Visual Studio Code.

  1. .sql Buka file di editor.
  2. Sambungkan editor ke database jika belum tersambung.
  3. Klik kanan di editor dan pilih Jalankan file dengan PSQL.

Ekstensi menyimpan file, lalu menjalankan psql -f <filepath> pada koneksi yang aktif. Terminal tugas terbuka untuk menampilkan output eksekusi. Direktori kerja diatur ke folder yang berisi file, sehingga jalur relatif dalam skrip Anda diselesaikan dengan benar.

Important

Simpan file sebelum eksekusi. Jika perubahan yang belum disimpan tidak dapat disimpan, ekstensi menunjukkan pesan yang mengatakan file harus disimpan sebelum menjalankan perintah PSQL. Operasi dibatalkan.

Mengonfigurasi jalur biner psql

Ekstensi mencari psql di tiga lokasi, dalam urutan ini:

  1. Biner yang dibundel: Alat klien PostgreSQL yang dikirim dengan ekstensi, diatur menurut versi.
  2. JALUR Sistem: direktori yang tercantum dalam variabel lingkungan sistem PATH operasi Anda.
  3. Direktori kustom: jalur yang Anda tambahkan ke pgsql.pgBinaryDirs pengaturan.

Saat beberapa versi psql ditemukan, ekstensi memilih versi yang paling cocok dengan versi PostgreSQL server Anda. Jika tidak ada kecocokan yang tepat, ia menggunakan versi terdekat yang tersedia.

Untuk menambahkan direktori biner kustom:

  1. Buka Pengaturan (Ctrl+, / Cmd+,).
  2. Cari pgsql.pgBinaryDirs.
  3. Pilih Tambahkan Item dan masukkan jalur absolut ke direktori yang berisi psql biner.
  4. Mulai ulang Visual Studio Code agar perubahan diterapkan.

Tip

Di macOS dengan Homebrew, jalur umumnya adalah /opt/homebrew/opt/postgresql@17/bin. Pada Windows, biasanya C:\Program Files\PostgreSQL\17\bin.

Bagaimana ekstensi memulai psql

Saat Anda memilih Sambungkan dengan PSQL atau Jalankan file dengan PSQL, ekstensi psql akan menyusun pemanggilan sebagai berikut:

Detail koneksi Bagaimana ekstensi melewatinya
Penyelenggara (-h) Dari alamat server pada profil koneksi.
Port (-p) Dari port profil koneksi. Defaultnya adalah 5432.
Database (-d) Node database yang dipilih, atau database bawaan profil koneksi
Pengguna (-U) Nama pengguna profil koneksi; untuk Microsoft Entra ID, nama pengguna atau alamat email Entra
Password Diatur melalui variabel lingkungan PGPASSWORD; untuk Microsoft Entra ID, token akses yang diperbarui
Enkode klien Diatur melalui variabel lingkungan PGCLIENTENCODING (defaultnya adalah UTF8)

Ekstensi menjalankan psql sebagai tugas Visual Studio Code, yang akan terbuka di panel Terminal. Terminal tugas tetap terbuka setelah psql keluar sehingga Anda dapat meninjau output.

Skenario penggunaan

Terminal psql berguna ketika Anda memerlukan kemampuan di luar editor kueri bawaan:

  • Sesi SQL interaktif: Jalankan perintah ad hoc dan periksa hasilnya di lingkungan yang sudah dikenal psql .
  • Impor/ekspor data massal: Gunakan \copy atau COPY perintah untuk pemuatan data berkinerja tinggi.
  • Tugas administratif: Mengelola peran, izin, dan konfigurasi server dengan akses penuh psql .
  • Pengujian skrip: Memvalidasi .sql skrip di native psql sebelum menyebarkannya.
  • Perintah backslash: Gunakan \dt, \d+, \timing, \x, dan perintah lain yang tidak tersedia di editor kueri grafis.

Tugas umum psql

Memeriksa objek database

Gunakan perintah psql backslash untuk inspeksi skema dengan cepat:

\dt
\d+ public.orders
\dn

Perintah ini mencantumkan tabel, memperlihatkan definisi objek terperinci, dan mencantumkan skema.

Aktifkan pengaturan waktu dan output yang diperluas

\timing on
\x on
SELECT * FROM public.orders LIMIT 5;

\timing menampilkan durasi kueri setelah setiap pernyataan. Output yang diperluas (\x) membuat baris lebar lebih mudah dibaca.

Memuat atau mengekspor data dengan \copy

\copy public.customers FROM '/Users/example/customers.csv' WITH (FORMAT csv, HEADER true)

Gunakan \copy untuk impor atau ekspor massal berorientasi terminal saat menggunakan kembali konteks koneksi yang dikelola oleh ekstensi.

Troubleshoot

psql tidak ditemukan

Jika ekstensi menunjukkan kesalahan "Tidak dapat menemukan psql executable," coba langkah-langkah berikut:

  1. Instal alat klien PostgreSQL untuk sistem operasi Anda dari halaman unduhan PostgreSQL.
  2. Verifikasi bahwa psql tersedia dengan berjalan psql --version di terminal sistem.
  3. Jika psql diinstal di lokasi yang tidak biasa, tambahkan direktori ke pgsql.pgBinaryDirs pengaturan . Lihat Mengonfigurasi jalur biner psql.
  4. Hidupkan ulang Visual Studio Code.

Membuka folder ruang kerja

Ekstensi memerlukan folder ruang kerja terbuka untuk meluncurkan psql. Jika pesan menyatakan bahwa folder ruang kerja harus dibuka, buka folder dengan File>Buka Folder, lalu coba lagi.

Autentikasi atau kegagalan koneksi

Jika psql terbuka tetapi koneksi gagal:

  • Konfirmasikan bahwa host, port, dan database sudah benar di profil koneksi Anda. Lihat Koneksi dan identitas.
  • Untuk autentikasi Microsoft Entra ID, verifikasi bahwa akun Anda masih masuk. Ekstensi menyegarkan token secara otomatis, tetapi sesi yang kedaluwarsa dapat memerlukan autentikasi ulang.
  • Jika Anda menggunakan SSL atau terowongan SSH, coba lagi koneksi yang sama dari dialog koneksi sebelum membuka psqlkembali .

Perubahan pada file tidak dijalankan

Saat Anda menjalankan file dengan Jalankan file dengan PSQL, ekstensi menyimpan file ke disk sebelum eksekusi. Jika penyimpanan gagal, ekstensi akan membatalkan operasi. Simpan file dengan sukses sebelum Anda meninjau output.