Ini adalah perintah psql yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
psql - terminal interaktif PostgreSQL
RINGKASAN
psql [Option...] [nama db [nama pengguna]]
DESKRIPSI
psql adalah front-end berbasis terminal untuk PostgreSQL. Ini memungkinkan Anda mengetikkan kueri
secara interaktif, keluarkan ke PostgreSQL, dan lihat hasil kuerinya. Atau, masukan
bisa dari file. Selain itu, ia menyediakan sejumlah meta-perintah dan berbagai
fitur seperti shell untuk memfasilitasi penulisan skrip dan mengotomatisasi berbagai tugas.
PILIHAN
-a
--echo-semua
Cetak semua baris input yang tidak kosong ke output standar saat dibaca. (Ini tidak
berlaku untuk baris yang dibaca secara interaktif.) Ini setara dengan mengatur variabel ECHO untuk
semua.
-A
--tidak sejajar
Beralih ke mode keluaran yang tidak selaras. (Mode keluaran default disejajarkan.)
-b
--echo-error
Cetak perintah SQL yang gagal ke output kesalahan standar. Ini setara dengan mengatur
variabel ECHO untuk kesalahan.
-c Command
--perintah=Command
Menentukan bahwa psql akan mengeksekusi satu string perintah, Command, dan kemudian keluar. Ini adalah
berguna dalam skrip shell. File start-up (psqlrc dan ~/.psqlrc) diabaikan dengan ini
.
Command harus berupa string perintah yang sepenuhnya dapat diuraikan oleh server
(yaitu, tidak berisi fitur khusus psql), atau satu perintah garis miring terbalik. Jadi kamu
tidak dapat mencampur perintah meta SQL dan psql dengan opsi ini. Untuk mencapai itu, Anda bisa
pipa string ke psql, misalnya: echo '\x \\ SELECT * FROM foo;' | psql. (\\ adalah
perintah meta pemisah.)
Jika string perintah berisi beberapa perintah SQL, mereka diproses dalam satu
transaksi, kecuali ada eksplisit MULAI/KOMIT perintah yang termasuk dalam string to
membaginya menjadi beberapa transaksi. Hal ini berbeda dengan perilaku ketika
string yang sama diumpankan ke input standar psql. Juga, hanya hasil dari SQL terakhir
perintah dikembalikan.
Karena perilaku warisan ini, menempatkan lebih dari satu perintah di -c string
sering memiliki hasil yang tidak terduga. Lebih baik memberi makan banyak perintah ke standar psql
input, baik menggunakan gema seperti yang diilustrasikan di atas, atau melalui dokumen shell di sini, untuk
contoh:
psql <
\x
PILIH * DARI foo;
EOF
-d nama db
--namadb=nama db
Menentukan nama database yang akan disambungkan. Ini setara dengan menentukan
nama db sebagai argumen non-opsi pertama pada baris perintah.
Jika parameter ini berisi tanda = atau dimulai dengan awalan URI yang valid (postgresql://
atau postgres://), diperlakukan sebagai info kontak rangkaian. Lihat Bagian 31.1.1, “Koneksi
Strings”, dalam dokumentasi untuk informasi lebih lanjut.
-e
--echo-kueri
Salin semua perintah SQL yang dikirim ke server ke output standar juga. Ini adalah
setara dengan mengatur variabel ECHO untuk pertanyaan.
-E
--echo-tersembunyi
Gema kueri aktual yang dihasilkan oleh \d dan perintah garis miring terbalik lainnya. Anda dapat menggunakan ini
untuk mempelajari operasi internal psql. Ini setara dengan mengatur variabel
ECHO_TERSEMBUNYI ke atas.
-f nama file
--berkas=nama file
Gunakan file nama file sebagai sumber perintah alih-alih membaca perintah
secara interaktif. Setelah file diproses, psql berakhir. Ini dalam banyak hal
setara dengan meta-perintah \i.
If nama file adalah - (tanda hubung), maka input standar dibaca hingga indikasi EOF atau \q
meta-perintah. Namun perhatikan bahwa Readline tidak digunakan dalam kasus ini (seperti jika -n memiliki
telah ditentukan).
Menggunakan opsi ini agak berbeda dari menulis psql nama file. Secara umum, keduanya
akan melakukan apa yang Anda harapkan, tetapi menggunakan -f mengaktifkan beberapa fitur bagus seperti kesalahan
pesan dengan nomor baris. Ada juga sedikit kemungkinan bahwa menggunakan opsi ini akan
mengurangi biaya start-up. Di sisi lain, varian menggunakan input shell
redirection (secara teori) dijamin menghasilkan output yang persis sama dengan yang Anda miliki
diterima jika Anda memasukkan semuanya dengan tangan.
-F alat pemisah
--pemisah bidang=alat pemisah
penggunaan alat pemisah sebagai pemisah bidang untuk keluaran yang tidak selaras. Ini setara dengan \pset
bidangsep or \f.
-h hostname
--tuan rumah=hostname
Menentukan nama host dari mesin yang menjalankan server. Jika nilai
dimulai dengan garis miring, digunakan sebagai direktori untuk soket domain Unix.
-H
--html
Aktifkan keluaran tabular HTML. Ini setara dengan \pset format html atau \H
perintah.
-l
--Daftar
Daftar semua database yang tersedia, lalu keluar. Opsi non-koneksi lainnya diabaikan.
Ini mirip dengan meta-command \Daftar.
-L nama file
--file-log=nama file
Tulis semua output kueri ke dalam file nama file, selain output normal
tujuan.
-n
--tidak ada baris baca
Jangan gunakan Readline untuk mengedit baris dan jangan gunakan riwayat perintah. Ini bisa jadi
berguna untuk mematikan ekspansi tab saat memotong dan menempel.
-o nama file
--keluaran=nama file
Masukkan semua output kueri ke dalam file nama file. Ini setara dengan perintah \o.
-p pelabuhan
--pelabuhan=pelabuhan
Menentukan port TCP atau ekstensi file soket domain Unix lokal tempat
server mendengarkan koneksi. Default ke nilai PGPORT lingkungan Hidup
variabel atau, jika tidak disetel, ke port yang ditentukan pada waktu kompilasi, biasanya 5432.
-P tugas
--pset=tugas
Menentukan opsi pencetakan, dengan gaya \pset. Perhatikan bahwa di sini Anda harus memisahkan
nama dan nilai dengan tanda sama dengan alih-alih spasi. Misalnya, untuk mengatur output
format ke LaTeX, Anda bisa menulis -P format=latex.
-q
--diam
Menentukan bahwa psql harus melakukan pekerjaannya dengan tenang. Secara default, ini mencetak pesan selamat datang
dan berbagai keluaran informasi. Jika opsi ini digunakan, semua ini tidak akan terjadi. Ini
berguna dengan -c pilihan. Ini setara dengan mengatur variabel DIAM ke atas.
-R alat pemisah
--pemisah-catatan=alat pemisah
penggunaan alat pemisah sebagai pemisah rekaman untuk keluaran yang tidak selaras. Ini setara dengan
\pset catatan sep perintah.
-s
--satu langkah
Jalankan dalam mode satu langkah. Itu berarti pengguna diminta sebelum setiap perintah dikirim
ke server, dengan opsi untuk membatalkan eksekusi juga. Gunakan ini untuk men-debug skrip.
-S
--garis tunggal
Berjalan dalam mode satu baris di mana baris baru mengakhiri perintah SQL, sebagai titik koma
tidak.
Note
Mode ini disediakan untuk mereka yang bersikeras, tetapi Anda belum tentu
didorong untuk menggunakannya. Khususnya, jika Anda mencampur perintah SQL dan meta dalam satu baris
urutan eksekusi mungkin tidak selalu jelas bagi pengguna yang tidak berpengalaman.
-t
--tupel-saja
Matikan pencetakan nama kolom dan footer jumlah baris hasil, dll. Ini adalah
setara dengan \t perintah.
-T pilihan_tabel
--tabel-attr=pilihan_tabel
Menentukan opsi untuk ditempatkan di dalam tag tabel HTML. Lihat \pset untuk rincian.
-U nama pengguna
--nama pengguna=nama pengguna
Hubungkan ke database sebagai pengguna nama pengguna alih-alih default. (Anda harus memiliki
izin untuk melakukannya, tentu saja.)
-v tugas
--mengatur=tugas
--variabel=tugas
Lakukan tugas variabel, seperti \mengatur meta-perintah. Perhatikan bahwa Anda harus memisahkan
nama dan nilai, jika ada, dengan tanda sama dengan pada baris perintah. Untuk menghapus variabel,
tinggalkan tanda sama dengan. Untuk menyetel variabel dengan nilai kosong, gunakan tanda sama dengan
tapi tinggalkan nilai. Tugas-tugas ini dilakukan selama tahap yang sangat awal dari
start-up, sehingga variabel yang dicadangkan untuk keperluan internal mungkin akan ditimpa nanti.
-V
--Versi: kapan
Cetak versi psql dan keluar.
-w
--tanpa kata sandi
Jangan pernah mengeluarkan prompt kata sandi. Jika server memerlukan otentikasi kata sandi dan a
kata sandi tidak tersedia dengan cara lain seperti file .pgpass, koneksi
usaha akan gagal. Opsi ini dapat berguna dalam pekerjaan batch dan skrip di mana tidak ada pengguna
hadir untuk memasukkan kata sandi.
Perhatikan bahwa opsi ini akan tetap disetel untuk seluruh sesi, sehingga memengaruhi penggunaan
dari meta-perintah \Menghubung serta upaya koneksi awal.
-W
--kata sandi
Paksa psql untuk meminta kata sandi sebelum menghubungkan ke database.
Opsi ini tidak pernah penting, karena psql akan secara otomatis meminta kata sandi jika
server meminta otentikasi kata sandi. Namun, psql akan menyia-nyiakan koneksi
coba cari tahu bahwa server menginginkan kata sandi. Dalam beberapa kasus ada baiknya mengetik
-W untuk menghindari upaya koneksi ekstra.
Perhatikan bahwa opsi ini akan tetap disetel untuk seluruh sesi, sehingga memengaruhi penggunaan
dari meta-perintah \Menghubung serta upaya koneksi awal.
-x
--diperluas
Aktifkan mode pemformatan tabel yang diperluas. Ini setara dengan \x perintah.
-X,
--tidak-psqlrc
Jangan membaca file start-up (baik file psqlrc seluruh sistem maupun file pengguna
~/.psqlrc file).
-z
--pemisah-bidang-nol
Setel pemisah bidang untuk keluaran yang tidak selaras ke byte nol.
-0
--record-separator-nol
Setel pemisah rekaman untuk keluaran yang tidak selaras ke byte nol. Ini berguna untuk
antarmuka, misalnya, dengan xargs -0.
-1
--transaksi tunggal
Saat psql mengeksekusi skrip, menambahkan opsi ini akan membungkus MULAI/KOMIT sekitar naskah
untuk mengeksekusinya sebagai satu transaksi. Ini memastikan bahwa semua perintah
selesai dengan sukses, atau tidak ada perubahan yang diterapkan.
Jika skrip itu sendiri menggunakan MULAI, KOMIT, atau KEMBALI, opsi ini tidak akan memiliki
efek yang diinginkan. Juga, jika skrip berisi perintah apa pun yang tidak dapat dijalankan
di dalam blok transaksi, menentukan opsi ini akan menyebabkan perintah itu (dan karenanya
seluruh transaksi) gagal.
-?
--bantuan[=tema]
Tampilkan bantuan tentang psql dan keluar. opsional tema parameter (default ke opsi)
memilih bagian mana dari psql yang dijelaskan: perintah menjelaskan perintah garis miring terbalik psql;
options menjelaskan opsi baris perintah yang dapat diteruskan ke psql; dan variabel
menunjukkan bantuan tentang variabel konfigurasi psql.
EXIT STATUS
psql mengembalikan 0 ke shell jika selesai secara normal, 1 jika terjadi kesalahan fatal sendiri
(misalnya kehabisan memori, file tidak ditemukan), 2 jika koneksi ke server buruk dan
sesi tidak interaktif, dan 3 jika terjadi kesalahan dalam skrip dan variabel
ON_ERROR_STOP telah dipasang.
PENGGUNAAN
Menghubungkan untuk a Basis Data
psql adalah aplikasi klien PostgreSQL biasa. Untuk terhubung ke database, Anda
perlu tahu nama database target Anda, nama host dan nomor port dari
server, dan nama pengguna yang ingin Anda sambungkan. psql dapat diberitahu tentang itu
parameter melalui opsi baris perintah, yaitu -d, -h, -p, dan -U masing-masing. Jika
argumen ditemukan yang bukan milik opsi apa pun, itu akan ditafsirkan sebagai
nama database (atau nama pengguna, jika nama database sudah diberikan). Tidak semua ini
opsi diperlukan; ada default yang berguna. Jika Anda menghilangkan nama host, psql akan
terhubung melalui soket domain Unix ke server di host lokal, atau melalui TCP/IP ke localhost
pada mesin yang tidak memiliki soket domain Unix. Nomor port default ditentukan di
waktu kompilasi. Karena server database menggunakan default yang sama, Anda tidak perlu
tentukan port dalam banyak kasus. Nama pengguna default adalah nama pengguna sistem operasi Anda,
seperti nama database default. Perhatikan bahwa Anda tidak bisa begitu saja terhubung ke database apa pun di bawah
nama pengguna apa pun. Administrator basis data Anda seharusnya memberi tahu Anda tentang akses Anda
hak.
Jika defaultnya kurang tepat, Anda dapat menghemat pengetikan dengan menyetel
variabel lingkungan PGDATABASE, PGHOST, PGPORT dan / atau PGUSER ke nilai-nilai yang sesuai. (Untuk
variabel lingkungan tambahan, lihat Bagian 31.14, "Variabel Lingkungan", di
dokumentasi.) Juga nyaman untuk memiliki ~/.pgpass file yang harus dihindari secara teratur
untuk mengetikkan kata sandi. Lihat Bagian 31.15, “File Kata Sandi”, dalam dokumentasi untuk
Informasi lebih lanjut
Cara alternatif untuk menentukan parameter koneksi adalah dalam a info kontak string atau URI,
yang digunakan sebagai pengganti nama database. Mekanisme ini memberi Anda kendali yang sangat luas atas
koneksi. Sebagai contoh:
$ psql "layanan=layanan saya sslmode=memerlukan"
$ psql postgresql://dbmaster:5433/mydb?sslmode=membutuhkan
Dengan cara ini Anda juga dapat menggunakan LDAP untuk pencarian parameter koneksi seperti yang dijelaskan di Bagian
31.17, “Pencarian LDAP untuk Parameter Koneksi”, dalam dokumentasi. Lihat Bagian 31.1.2,
"Kata Kunci Parameter", dalam dokumentasi untuk informasi lebih lanjut tentang semua yang tersedia
pilihan koneksi.
Jika koneksi tidak dapat dibuat karena alasan apa pun (mis., hak istimewa yang tidak mencukupi, server
tidak berjalan pada host yang ditargetkan, dll.), psql akan mengembalikan kesalahan dan mengakhiri.
Jika input standar dan output standar adalah terminal, maka psql menetapkan klien
pengkodean ke "otomatis", yang akan mendeteksi pengkodean klien yang sesuai dari lokal
pengaturan (LC_CTYPE variabel lingkungan pada sistem Unix). Jika ini tidak berhasil sebagai
diharapkan, pengkodean klien dapat diganti menggunakan variabel lingkungan
PENGKODEAN PGCLIENT.
Memasuki SQL Perintah
Dalam operasi normal, psql menyediakan prompt dengan nama database yang psql adalah
saat ini terhubung, diikuti oleh string =>. Sebagai contoh:
$ psql tesdb
psql (9.5.2)
Ketik "bantuan" untuk bantuan.
testdb=>
Pada prompt, pengguna dapat mengetikkan perintah SQL. Biasanya, jalur input dikirim ke
server ketika titik koma penghentian perintah tercapai. Sebuah akhir baris tidak berakhir
sebuah perintah. Dengan demikian perintah dapat tersebar di beberapa baris untuk kejelasan. Jika perintahnya adalah
dikirim dan dieksekusi tanpa kesalahan, hasil perintah ditampilkan di layar.
Setiap kali perintah dijalankan, psql juga melakukan polling untuk acara notifikasi asinkron
dihasilkan oleh MENDENGARKAN(7) dan MEMBERITAHU(7).
Sementara komentar blok gaya-C diteruskan ke server untuk diproses dan dihapus,
Komentar standar SQL dihapus oleh psql.
Meta-Perintah
Apa pun yang Anda masukkan di psql yang dimulai dengan garis miring terbalik yang tidak dikutip adalah perintah meta psql
yang diproses oleh psql itu sendiri. Perintah-perintah ini membuat psql lebih berguna untuk administrasi
atau skrip. Perintah-meta sering disebut perintah slash atau backslash.
Format perintah psql adalah garis miring terbalik, diikuti segera oleh kata kerja perintah,
lalu argumen apa pun. Argumen dipisahkan dari kata kerja perintah dan satu sama lain oleh
sejumlah karakter spasi putih.
Untuk memasukkan spasi putih dalam argumen, Anda dapat mengutipnya dengan tanda kutip tunggal. Untuk memasukkan
kutipan tunggal dalam sebuah argumen, tulis dua kutipan tunggal dalam teks yang dikutip tunggal. Apa pun
terkandung dalam tanda kutip tunggal selanjutnya tunduk pada substitusi seperti C untuk \n (baru
baris), \t (tab), \b (spasi mundur), \r (carriage return), \f (form feed), \digit (oktal),
dan \xdigit (heksadesimal). Garis miring terbalik mendahului karakter lain dalam tanda kutip tunggal
teks mengutip karakter tunggal itu, apa pun itu.
Dalam sebuah argumen, teks yang diapit tanda kutip balik (`) diambil sebagai baris perintah
yang diteruskan ke shell. Output dari perintah (dengan baris baru yang tertinggal dihapus)
menggantikan teks yang dikutip kembali.
Jika titik dua yang tidak dikutip (:) diikuti dengan nama variabel psql muncul dalam argumen, itu
digantikan oleh nilai variabel, seperti yang dijelaskan dalam Interpolasi SQL.
Beberapa perintah mengambil pengidentifikasi SQL (seperti nama tabel) sebagai argumen. Argumen ini
ikuti aturan sintaks SQL: Huruf tanpa tanda kutip dipaksa menjadi huruf kecil, sementara ganda
tanda kutip (") melindungi huruf dari konversi huruf besar-kecil dan memungkinkan penggabungan spasi putih ke dalam
pengenal. Dalam tanda kutip ganda, tanda kutip ganda berpasangan dikurangi menjadi tanda kutip ganda tunggal
dalam nama yang dihasilkan. Misalnya, FOO"BAR"BAZ ditafsirkan sebagai fooBARbaz, dan "A
aneh"" nama" menjadi nama yang aneh".
Parsing untuk argumen berhenti di akhir baris, atau ketika garis miring terbalik lain yang tidak dikutip adalah
ditemukan. Garis miring terbalik yang tidak dikutip dianggap sebagai awal dari perintah meta baru. yang spesial
sequence \\ (dua garis miring terbalik) menandai akhir dari argumen dan melanjutkan penguraian SQL
perintah, jika ada. Dengan begitu perintah SQL dan psql dapat dicampur secara bebas dalam satu baris. Tapi di mana saja
kasus, argumen perintah-meta tidak dapat berlanjut melampaui akhir baris.
Perintah-meta berikut didefinisikan:
\a
Jika format output tabel saat ini tidak selaras, itu dialihkan ke selaras. Jika memang
tidak selaras, itu disetel ke tidak selaras. Perintah ini disimpan untuk mundur
kesesuaian. Lihat \pset untuk solusi yang lebih umum.
\c atau \sambungkan [ nama db [ nama pengguna ] [ tuan rumah ] [ pelabuhan ] ] | info kontak
Membuat koneksi baru ke server PostgreSQL. Parameter koneksi yang akan digunakan
dapat ditentukan baik menggunakan sintaks posisi, atau menggunakan koneksi conninfo
string seperti yang dijelaskan dalam Bagian 31.1.1, “Connection Strings”, dalam dokumentasi.
Saat menggunakan parameter posisi, jika salah satu dari nama db, nama pengguna, tuan rumah or pelabuhan dihilangkan
atau ditentukan sebagai -, nilai parameter dari koneksi sebelumnya digunakan;
jika tidak ada koneksi sebelumnya, default libpq untuk nilai parameter adalah
digunakan. Saat menggunakan string conninfo, tidak ada nilai dari koneksi sebelumnya yang digunakan untuk
sambungan baru.
Jika koneksi baru berhasil dibuat, koneksi sebelumnya ditutup. jika
upaya koneksi gagal (nama pengguna salah, akses ditolak, dll.), sebelumnya
koneksi hanya akan disimpan jika psql dalam mode interaktif. Saat menjalankan
skrip non-interaktif, pemrosesan akan segera berhenti dengan kesalahan. Ini
perbedaan dipilih sebagai kenyamanan pengguna terhadap kesalahan ketik di satu sisi, dan a
mekanisme keamanan bahwa skrip tidak secara tidak sengaja bertindak pada basis data yang salah di
sisi lain.
contoh:
=> \c mydb myuser host.dom 6432
=> \c layanan=foo
=> \c "host=localhost port=5432 dbname=mydb connect_timeout=10 sslmode=disable"
=> \c postgresql://tom@localhost/mydb?application_name=myapp
\C [ judul ]
Menyetel judul tabel apa pun yang dicetak sebagai hasil kueri atau menghapus pengaturan semacam itu
judul. Perintah ini setara dengan \pset title judul. (Nama perintah ini
berasal dari "caption", karena sebelumnya hanya digunakan untuk mengatur teks dalam HTML
meja.)
\cd [ direktori ]
Mengubah direktori kerja saat ini menjadi direktori. Tanpa argumen, perubahan pada
direktori home pengguna saat ini.
jenis
Untuk mencetak direktori kerja Anda saat ini, gunakan \! pwd.
\sambungan
Keluaran informasi tentang koneksi database saat ini.
\kopi { tabel [( column_list ) ] | ( pertanyaan ) } { dari | ke } { 'nama file' | program
'memerintah' | stdin | stdout | pstdin | pstdout } [ [ dengan ] ( Option [, ...] )]
Melakukan salinan frontend (klien). Ini adalah operasi yang menjalankan SQL COPY(7)
perintah, tetapi alih-alih server membaca atau menulis file yang ditentukan, psql membaca
atau menulis file dan merutekan data antara server dan sistem file lokal.
Ini berarti bahwa aksesibilitas dan hak istimewa file adalah milik pengguna lokal, bukan
server, dan tidak diperlukan hak pengguna super SQL.
Ketika program ditentukan, Command dieksekusi oleh psql dan data diteruskan dari atau ke
Command dirutekan antara server dan klien. Sekali lagi, hak eksekusi
adalah milik pengguna lokal, bukan server, dan tidak ada hak pengguna super SQL
diperlukan.
Untuk \copy ... from stdin, baris data dibaca dari sumber yang sama yang mengeluarkan
perintah, lanjutkan hingga \. dibaca atau aliran mencapai EOF. Opsi ini berguna
untuk mengisi tabel in-line dalam file skrip SQL. Untuk \copy ... ke stdout,
output dikirim ke tempat yang sama dengan output perintah psql, dan COPY menghitung Command
status tidak dicetak (karena mungkin bingung dengan baris data). Untuk membaca/menulis
input atau output standar psql terlepas dari sumber perintah saat ini atau opsi \o,
menulis dari pstdin atau ke pstdout.
Sintaks dari perintah ini mirip dengan SQL COPY(7) perintah. Semua opsi
selain sumber/tujuan data seperti yang ditentukan untuk COPY(7). Karena ini,
aturan penguraian khusus berlaku untuk \salinan memerintah. Secara khusus, variabel psql
aturan substitusi dan pelolosan garis miring terbalik tidak berlaku.
jenis
Operasi ini tidak seefisien SQL COPY perintah karena semua data harus
melewati koneksi klien/server. Untuk data dalam jumlah besar, SQL
perintah mungkin lebih disukai.
\hak cipta
Menunjukkan hak cipta dan ketentuan distribusi PostgreSQL.
\d[S+] [ belt hold ]
Untuk setiap relasi (tabel, tampilan, indeks, urutan, atau tabel asing) atau tipe komposit
cocok dengan belt hold, tampilkan semua kolom, tipenya, tablespace (jika bukan
default) dan atribut khusus apa pun seperti NOT NULL atau default. indeks terkait,
batasan, aturan, dan pemicu juga ditampilkan. Untuk tabel asing, yang terkait
server asing juga ditampilkan. (“Mencocokkan pola” didefinisikan dalam Pola
di bawah.)
Untuk beberapa jenis relasi, \d menampilkan informasi tambahan untuk setiap kolom: kolom
nilai untuk urutan, ekspresi terindeks untuk indeks, dan opsi pembungkus data asing
untuk meja asing.
Bentuk perintah \d+ identik, kecuali bahwa lebih banyak informasi yang ditampilkan: any
komentar yang terkait dengan kolom tabel ditampilkan, seperti adanya
OID dalam tabel, definisi tampilan jika relasinya adalah tampilan, non-default
pengaturan identitas replika.
Secara default, hanya objek yang dibuat pengguna yang ditampilkan; berikan pola atau pengubah S ke
termasuk objek sistem.
Note
If \d digunakan tanpa belt hold argumen, itu setara dengan \dtvsE yang akan
tampilkan daftar semua tabel, tampilan, urutan, dan tabel asing yang terlihat. Ini adalah
murni ukuran kenyamanan.
\da[S] [ belt hold ]
Mencantumkan fungsi agregat, bersama dengan tipe pengembaliannya dan tipe datanya
beroperasi pada. Jika belt hold ditentukan, hanya agregat yang namanya cocok dengan polanya yang
ditampilkan. Secara default, hanya objek yang dibuat pengguna yang ditampilkan; menyediakan pola atau S
pengubah untuk memasukkan objek sistem.
\db[+] [ belt hold ]
Daftar tablespace. Jika belt hold ditentukan, hanya tablespace yang namanya cocok dengan
pola ditampilkan. Jika + ditambahkan ke nama perintah, setiap tablespace terdaftar
dengan opsi terkait, ukuran di disk, izin, dan deskripsi.
\dc[S+] [ belt hold ]
Mencantumkan konversi antara pengkodean kumpulan karakter. Jika belt hold ditentukan, hanya
konversi yang namanya cocok dengan pola terdaftar. Secara default, hanya buatan pengguna
objek ditampilkan; menyediakan pola atau pengubah S untuk memasukkan objek sistem. Jika +
ditambahkan ke nama perintah, setiap objek terdaftar dengan yang terkait
deskripsi.
\dC[+] [ belt hold ]
Daftar jenis gips. Jika belt hold ditentukan, hanya pemeran yang sumber atau tipe targetnya
cocok dengan pola yang tercantum. Jika + ditambahkan ke nama perintah, setiap objek adalah
terdaftar dengan deskripsi yang terkait.
\dd[S] [ belt hold ]
Menampilkan deskripsi objek dari batasan tipe, kelas operator, keluarga operator,
aturan, dan pemicu. Semua komentar lain dapat dilihat dengan garis miring terbalik masing-masing
perintah untuk tipe objek tersebut.
\dd menampilkan deskripsi untuk objek yang cocok dengan belt hold, atau objek yang terlihat dari
jenis yang sesuai jika tidak ada argumen yang diberikan. Tapi dalam kedua kasus, hanya objek yang
memiliki deskripsi yang terdaftar. Secara default, hanya objek yang dibuat pengguna yang ditampilkan; Pasokan
pola atau pengubah S untuk memasukkan objek sistem.
Deskripsi untuk objek dapat dibuat dengan KOMENTAR(7) perintah SQL.
\ddp [ belt hold ]
Mencantumkan pengaturan hak akses default. Entri ditampilkan untuk setiap peran (dan skema,
jika berlaku) yang pengaturan hak istimewa defaultnya telah diubah dari
bawaan bawaan. Jika belt hold ditentukan, hanya entri yang nama perannya atau skema
nama sesuai dengan pola yang dicantumkan.
HAK ISTIMEWA ALTER DEFAULT (ALTER_DEFAULT_PRIVILEGES(7)) perintah digunakan untuk mengatur
hak akses default. Arti dari tampilan hak istimewa dijelaskan di bawah
GRANT(7).
\dD[S+] [ belt hold ]
Daftar domain. Jika belt hold ditentukan, hanya domain yang namanya cocok dengan polanya yang
ditampilkan. Secara default, hanya objek yang dibuat pengguna yang ditampilkan; menyediakan pola atau S
pengubah untuk memasukkan objek sistem. Jika + ditambahkan ke nama perintah, setiap objek
terdaftar dengan izin dan deskripsi yang terkait.
\dE[S+] [ belt hold ]
\di[S+] [ belt hold ]
\dm[S+] [ belt hold ]
\ds[S+] [ belt hold ]
\dt[S+] [ belt hold ]
\dv[S+] [ belt hold ]
Dalam kelompok perintah ini, huruf E, i, m, s, t, dan v mewakili tabel asing,
indeks, tampilan terwujud, urutan, tabel, dan tampilan, masing-masing. Anda dapat menentukan apapun
atau semua surat ini, dalam urutan apa pun, untuk mendapatkan daftar objek dari jenis ini.
Misalnya, \dit mencantumkan indeks dan tabel. Jika + ditambahkan ke nama perintah, masing-masing
objek terdaftar dengan ukuran fisiknya pada disk dan deskripsi yang terkait, jika
setiap. Jika belt hold ditentukan, hanya objek yang namanya cocok dengan pola yang dicantumkan.
Secara default, hanya objek yang dibuat pengguna yang ditampilkan; berikan pola atau pengubah S ke
termasuk objek sistem.
\des[+] [ belt hold ]
Daftar server asing (mnemonic: "server eksternal"). Jika belt hold ditentukan, hanya
server-server yang namanya cocok dengan pola tersebut terdaftar. Jika bentuk \des+ digunakan, a
deskripsi lengkap dari setiap server ditampilkan, termasuk ACL server, jenis, versi,
pilihan, dan deskripsi.
\t[+] [ belt hold ]
Daftar tabel asing (mnemonic: "tabel eksternal"). Jika belt hold ditentukan, hanya
entri yang nama tabel atau nama skemanya cocok dengan pola yang terdaftar. Jika bentuknya
\det+ digunakan, opsi umum dan deskripsi tabel asing juga ditampilkan.
\deu[+] [ belt hold ]
Mencantumkan pemetaan pengguna (mnemonic: "pengguna eksternal"). Jika belt hold ditentukan, hanya itu
pemetaan yang nama penggunanya cocok dengan pola terdaftar. Jika bentuk \deu+ digunakan,
informasi tambahan tentang setiap pemetaan ditampilkan.
Peringatan
\deu+ mungkin juga menampilkan nama pengguna dan kata sandi dari pengguna jarak jauh, jadi berhati-hatilah
harus diambil untuk tidak mengungkapkannya.
\em[+] [ belt hold ]
Mencantumkan pembungkus data asing (mnemonic: "pembungkus eksternal"). Jika belt hold ditentukan,
hanya pembungkus data asing yang namanya cocok dengan pola yang terdaftar. jika
form \dew+ digunakan, ACL, opsi, dan deskripsi pembungkus data asing adalah
juga ditampilkan.
\df[antwS+] [ belt hold ]
Daftar fungsi, bersama dengan argumennya, tipe pengembalian, dan tipe fungsi,
yang diklasifikasikan sebagai “agg” (agregat), “normal”, “trigger”, atau “window”. Ke
hanya menampilkan fungsi dari tipe tertentu, tambahkan huruf yang sesuai a, n, t, atau
w untuk perintah. Jika belt hold ditentukan, hanya fungsi yang namanya cocok dengan
pola ditampilkan. Secara default, hanya objek yang dibuat pengguna yang ditampilkan; menyediakan pola
atau pengubah S untuk memasukkan objek sistem. Jika bentuk \df+ digunakan, tambahan
informasi tentang setiap fungsi ditampilkan, termasuk klasifikasi keamanan,
volatilitas, pemilik, bahasa, kode sumber, dan deskripsi.
jenis
Untuk mencari fungsi yang mengambil argumen atau mengembalikan nilai dari tipe tertentu, gunakan
kemampuan pencarian pager Anda untuk menelusuri keluaran \df.
\dF[+] [ belt hold ]
Mencantumkan konfigurasi pencarian teks. Jika belt hold ditentukan, hanya konfigurasi yang
nama cocok dengan pola yang ditampilkan. Jika formulir \dF+ digunakan, deskripsi lengkap dari
setiap konfigurasi ditampilkan, termasuk parser pencarian teks yang mendasarinya dan
daftar kamus untuk setiap jenis token parser.
\dFd[+] [ belt hold ]
Daftar kamus pencarian teks. Jika belt hold ditentukan, hanya kamus yang namanya
cocok dengan pola yang ditampilkan. Jika formulir \dFd+ digunakan, informasi tambahannya adalah
ditampilkan tentang setiap kamus yang dipilih, termasuk template pencarian teks yang mendasarinya
dan nilai opsi.
\dFp[+] [ belt hold ]
Mencantumkan parser pencarian teks. Jika belt hold ditentukan, hanya parser yang namanya cocok dengan
pola ditampilkan. Jika formulir \dFp+ digunakan, deskripsi lengkap dari setiap parser adalah
ditampilkan, termasuk fungsi yang mendasarinya dan daftar jenis token yang dikenali.
\dFt[+] [ belt hold ]
Mencantumkan template pencarian teks. Jika belt hold ditentukan, hanya templat yang namanya cocok
pola yang ditampilkan. Jika formulir \dFt+ digunakan, informasi tambahan akan ditampilkan
tentang setiap template, termasuk nama fungsi yang mendasarinya.
\dg[+] [ belt hold ]
Mencantumkan peran database. (Karena konsep "pengguna" dan "grup" telah disatukan
menjadi "peran", perintah ini sekarang setara dengan \du.) Jika belt hold ditentukan, hanya
peran-peran yang namanya cocok dengan pola tersebut terdaftar. Jika bentuk \dg+ digunakan,
informasi tambahan ditampilkan tentang setiap peran; saat ini menambahkan komentar untuk
setiap peran.
\dl
Ini adalah alias untuk \lo_daftar, yang menampilkan daftar objek besar.
\dL[S+] [ belt hold ]
Daftar bahasa prosedural. Jika belt hold ditentukan, hanya bahasa yang namanya cocok
polanya dicantumkan. Secara default, hanya bahasa buatan pengguna yang ditampilkan; menyediakan
S modifier untuk memasukkan objek sistem. Jika + ditambahkan ke nama perintah, masing-masing
bahasa terdaftar dengan penangan panggilan, validator, hak akses, dan apakah itu
adalah objek sistem.
\dn[S+] [ belt hold ]
Mencantumkan skema (ruang nama). Jika belt hold ditentukan, hanya skema yang namanya cocok
polanya dicantumkan. Secara default, hanya objek yang dibuat pengguna yang ditampilkan; pasokan
pattern atau pengubah S untuk memasukkan objek sistem. Jika + ditambahkan ke perintah
nama, setiap objek terdaftar dengan izin dan deskripsi yang terkait, jika ada.
\lakukan[S+] [ belt hold ]
Mencantumkan operator dengan operand dan tipe hasil mereka. Jika belt hold ditentukan, hanya
operator yang namanya cocok dengan pola terdaftar. Secara default, hanya buatan pengguna
objek ditampilkan; menyediakan pola atau pengubah S untuk memasukkan objek sistem. Jika +
ditambahkan ke nama perintah, informasi tambahan tentang setiap operator ditampilkan,
saat ini hanya nama fungsi yang mendasarinya.
\lakukan[S+] [ belt hold ]
Daftar koleksi. Jika belt hold ditentukan, hanya koleksi yang namanya cocok dengan
pola dicantumkan. Secara default, hanya objek yang dibuat pengguna yang ditampilkan; menyediakan pola
atau pengubah S untuk memasukkan objek sistem. Jika + ditambahkan ke nama perintah,
setiap susunan terdaftar dengan deskripsi terkait, jika ada. Perhatikan bahwa hanya
kumpulan yang dapat digunakan dengan pengkodean database saat ini ditampilkan, sehingga hasilnya mungkin
bervariasi dalam database yang berbeda dari instalasi yang sama.
\dp [ belt hold ]
Mencantumkan tabel, tampilan, dan urutan dengan hak akses yang terkait. Jika belt hold
ditentukan, hanya tabel, tampilan, dan urutan yang namanya cocok dengan polanya yang
terdaftar.
GRANT(7) dan MENCABUT(7) perintah digunakan untuk mengatur hak akses. Arti dari
tampilan hak istimewa dijelaskan di bawah GRANT(7).
\ds [ pola peran [ database-pola ] ]
Daftar pengaturan konfigurasi yang ditentukan. Pengaturan ini dapat spesifik peran,
khusus database, atau keduanya. pola peran dan database-pola digunakan untuk memilih
peran tertentu dan database untuk daftar, masing-masing. Jika dihilangkan, atau jika * ditentukan,
semua pengaturan terdaftar, termasuk yang tidak spesifik peran atau spesifik basis data,
masing.
PERAN ALTER (ALTER_ROLE(7)) dan MENGUBAH DATABASE (ALTER_DATABASE(7)) perintah adalah
digunakan untuk menentukan pengaturan konfigurasi per-peran dan per-database.
\dT[S+] [ belt hold ]
Mencantumkan tipe data. Jika belt hold ditentukan, hanya tipe yang namanya cocok dengan polanya
terdaftar. Jika + ditambahkan ke nama perintah, setiap jenis terdaftar dengan
nama dan ukuran internal, nilai yang diizinkan jika itu adalah tipe enum, dan yang terkait
izin. Secara default, hanya objek yang dibuat pengguna yang ditampilkan; menyediakan pola atau
S modifier untuk memasukkan objek sistem.
\du[+] [ belt hold ]
Mencantumkan peran database. (Karena konsep "pengguna" dan "grup" telah disatukan
menjadi "peran", perintah ini sekarang setara dengan \dg.) Jika belt hold ditentukan, hanya
peran-peran yang namanya cocok dengan pola tersebut terdaftar. Jika bentuk \du+ digunakan,
informasi tambahan ditampilkan tentang setiap peran; saat ini menambahkan komentar untuk
setiap peran.
\dx[+] [ belt hold ]
Daftar ekstensi yang diinstal. Jika belt hold ditentukan, hanya ekstensi yang namanya
cocok dengan pola yang tercantum. Jika bentuk \dx+ digunakan, semua objek milik
setiap ekstensi yang cocok terdaftar.
\dy[+] [ belt hold ]
Mencantumkan pemicu peristiwa. Jika belt hold ditentukan, hanya peristiwa yang memicu yang namanya
cocok dengan pola yang tercantum. Jika + ditambahkan ke nama perintah, setiap objek adalah
terdaftar dengan deskripsi yang terkait.
\e atau \edit [ nama file ] [ baris_nomor ]
If nama file ditentukan, file diedit; setelah editor keluar, isinya adalah
disalin kembali ke buffer kueri. Jika tidak nama file diberikan, buffer kueri saat ini adalah
disalin ke file sementara yang kemudian diedit dengan cara yang sama.
Buffer kueri baru kemudian diurai ulang sesuai dengan aturan normal psql, di mana
seluruh buffer diperlakukan sebagai satu baris. (Dengan demikian Anda tidak dapat membuat skrip dengan cara ini.
penggunaan \i untuk itu.) Ini berarti bahwa jika kueri diakhiri dengan (atau berisi) titik koma, itu
segera dieksekusi. Kalau tidak, itu hanya akan menunggu di buffer kueri; Tipe
titik koma atau \g untuk mengirimnya, atau \r untuk membatalkan.
Jika nomor baris ditentukan, psql akan memposisikan kursor pada baris yang ditentukan
buffer file atau kueri. Perhatikan bahwa jika satu argumen semua digit diberikan, psql
menganggap itu adalah nomor baris, bukan nama file.
jenis
Lihat di bawah LINGKUNGAN untuk cara mengkonfigurasi dan menyesuaikan editor Anda.
\gema teks [ ... ]
Mencetak argumen ke output standar, dipisahkan oleh satu spasi dan diikuti oleh a
garis baru. Ini dapat berguna untuk menyelingi informasi dalam output skrip. Untuk
contoh:
=> \gema `tanggal`
Sel 26 Okt 21:40:57 CEST 1999
Jika argumen pertama adalah -n tanpa tanda kutip, baris baru di belakangnya tidak ditulis.
jenis
Jika Anda menggunakan \o perintah untuk mengarahkan ulang keluaran kueri Anda yang mungkin ingin Anda gunakan
\qecho alih-alih perintah ini.
\ef [ Deskripsi fungsi [ baris_nomor ] ]
Perintah ini mengambil dan mengedit definisi fungsi bernama, dalam bentuk a
MEMBUAT OR REPLACE FUNGSI memerintah. Pengeditan dilakukan dengan cara yang sama seperti untuk \edit.
Setelah editor keluar, perintah yang diperbarui menunggu di buffer kueri; ketik titik koma
atau \g untuk mengirimnya, atau \r untuk membatalkan.
Fungsi target dapat ditentukan dengan nama saja, atau dengan nama dan argumen, untuk
contoh foo(bilangan bulat, teks). Jenis argumen harus diberikan jika ada lebih dari satu
fungsi dengan nama yang sama.
Jika tidak ada fungsi yang ditentukan, kosong MEMBUAT FUNGSI template disajikan untuk
pengeditan.
Jika nomor baris ditentukan, psql akan memposisikan kursor pada baris yang ditentukan
badan fungsi. (Perhatikan bahwa badan fungsi biasanya tidak dimulai pada yang pertama
baris file.)
jenis
Lihat di bawah LINGKUNGAN untuk cara mengkonfigurasi dan menyesuaikan editor Anda.
\mengkodekan [ encoding ]
Menyetel pengkodean set karakter klien. Tanpa argumen, perintah ini menunjukkan
pengkodean saat ini.
\F [ string ]
Menyetel pemisah bidang untuk keluaran kueri yang tidak selaras. Standarnya adalah bilah vertikal
(|). Lihat juga \pset untuk cara umum menyetel opsi keluaran.
\G [ nama file ]
\g [ |Command ]
Mengirim buffer input kueri saat ini ke server, dan secara opsional menyimpan
keluaran dalam nama file atau menyalurkan output ke perintah shell Command. Berkas atau
perintah ditulis hanya jika kueri berhasil mengembalikan nol atau lebih tupel, bukan
jika kueri gagal atau merupakan perintah SQL yang tidak mengembalikan data.
Sebuah \g kosong pada dasarnya setara dengan titik koma. A \g dengan argumen adalah "one-shot"
alternatif untuk \o perintah.
\gset [ awalan ]
Mengirim buffer input kueri saat ini ke server dan menyimpan output kueri ke dalam
variabel psql (lihat Variabel). Kueri yang akan dieksekusi harus mengembalikan tepat satu baris.
Setiap kolom dari baris disimpan ke dalam variabel terpisah, dinamai sama dengan
kolom. Sebagai contoh:
=> MEMILIH 'Halo' AS var1, 10 AS var2
-> \gset
=> \gema :var1 :var2
halo 10
Jika Anda menentukan awalan, string itu ditambahkan ke nama kolom kueri ke
buat nama variabel untuk digunakan:
=> MEMILIH 'Halo' AS var1, 10 AS var2
-> \gset hasil_
=> \gema :hasil_var1 :hasil_var2
halo 10
Jika hasil kolom adalah NULL, variabel terkait tidak disetel alih-alih disetel.
Jika kueri gagal atau tidak mengembalikan satu baris, tidak ada variabel yang diubah.
\h atau \bantuan [ Command ]
Memberikan bantuan sintaks pada perintah SQL yang ditentukan. Jika Command tidak ditentukan, maka psql
akan mencantumkan semua perintah yang bantuan sintaksnya tersedia. Jika Command adalah
asterisk (*), maka bantuan sintaks pada semua perintah SQL ditampilkan.
Note
Untuk mempermudah pengetikan, perintah yang terdiri dari beberapa kata tidak harus
dikutip. Jadi tidak apa-apa untuk mengetik \Tolong mengubah tabel.
\H atau \html
Mengaktifkan format keluaran kueri HTML. Jika format HTML sudah aktif, itu diaktifkan
kembali ke format teks rata default. Perintah ini untuk kompatibilitas dan
kenyamanan, tapi lihat \pset tentang pengaturan opsi output lainnya.
\i atau \termasuk nama file
Membaca input dari file nama file dan mengeksekusinya seolah-olah telah diketik di
keyboard.
If nama file adalah - (tanda hubung), maka input standar dibaca hingga indikasi EOF atau \q
meta-perintah. Ini dapat digunakan untuk menyelingi input interaktif dengan input dari file.
Perhatikan bahwa perilaku Readline hanya akan digunakan jika aktif di tingkat terluar.
Note
Jika Anda ingin melihat garis di layar saat dibaca, Anda harus mengatur
variabel ECHO untuk semua.
\ir atau \include_relative nama file
Perintah \ir mirip dengan \i, tetapi menyelesaikan nama file relatif secara berbeda. Kapan
mengeksekusi dalam mode interaktif, kedua perintah berperilaku identik. Namun, ketika
dipanggil dari skrip, \ir menginterpretasikan nama file relatif terhadap direktori di mana
skrip berada, bukan direktori kerja saat ini.
\l[+] atau \daftar[+] [ belt hold ]
Buat daftar database di server dan tunjukkan nama, pemilik, set karakternya
pengkodean, dan hak akses. Jika belt hold ditentukan, hanya database yang namanya
cocok dengan pola yang tercantum. Jika + ditambahkan ke nama perintah, ukuran database,
tablespace default, dan deskripsi juga ditampilkan. (Informasi ukuran hanya
tersedia untuk database yang dapat dihubungkan oleh pengguna saat ini.)
\lo_ekspor loid nama file
Membaca objek besar dengan OID loid dari database dan menulisnya ke nama file. Catatan
bahwa ini agak berbeda dari fungsi server lo_ekspor, yang bertindak dengan
izin pengguna yang menjalankan server database sebagai dan pada file server
sistem.
jenis
penggunaan \lo_daftar untuk mengetahui besar OID benda tersebut.
\lo_impor nama file [ komentar ]
Menyimpan file ke dalam objek besar PostgreSQL. Secara opsional, ini mengaitkan yang diberikan
berkomentar dengan objek. Contoh:
fo=> \lo_impor '/home/peter/pictures/photo.xcf' 'a gambar of Aku'
lo_import 152801
Responsnya menunjukkan bahwa objek besar menerima ID objek 152801, yang dapat berupa
digunakan untuk mengakses objek besar yang baru dibuat di masa mendatang. Demi
keterbacaan, disarankan untuk selalu mengaitkan komentar yang dapat dibaca manusia dengan setiap
obyek. Baik OID maupun komentar dapat dilihat dengan \lo_daftar perintah.
Perhatikan bahwa perintah ini agak berbeda dari sisi server lihat_impor karena
bertindak sebagai pengguna lokal pada sistem file lokal, bukan pengguna server dan
berkas sistem.
\lo_daftar
Menampilkan daftar semua objek besar PostgreSQL yang saat ini disimpan dalam database, bersama
dengan komentar yang diberikan untuk mereka.
\lo_batalkan tautan loid
Menghapus objek besar dengan OID loid dari database.
jenis
penggunaan \lo_daftar untuk mengetahui besar OID benda tersebut.
\o atau \keluar [ nama file ]
\o atau \keluar [ |Command ]
Mengatur untuk menyimpan hasil kueri di masa mendatang ke file nama file atau menyalurkan hasil masa depan ke
perintah shell Command. Jika tidak ada argumen yang ditentukan, output kueri diatur ulang ke
keluaran standar.
"Hasil kueri" mencakup semua tabel, respons perintah, dan pemberitahuan yang diperoleh dari
server database, serta output dari berbagai perintah garis miring terbalik yang meminta
basis data (seperti \d), tetapi bukan pesan kesalahan.
jenis
Untuk menyelingi keluaran teks di antara hasil kueri, gunakan \qecho.
\p atau \print
Cetak buffer kueri saat ini ke output standar.
\kata sandi [ nama pengguna ]
Mengubah kata sandi pengguna yang ditentukan (secara default, pengguna saat ini). Ini
perintah meminta kata sandi baru, mengenkripsinya, dan mengirimkannya ke server sebagai
MENGUBAH PERAN memerintah. Ini memastikan bahwa kata sandi baru tidak muncul dalam teks yang jelas
dalam riwayat perintah, log server, atau di tempat lain.
\mengingatkan [ teks ] nama
Meminta pengguna untuk memasukkan teks, yang ditetapkan ke variabel nama. Sebuah opsional
string cepat, teks, dapat ditentukan. (Untuk petunjuk multikata, kelilingi teks dengan
kutipan tunggal.)
Secara default, \Prompt menggunakan terminal untuk input dan output. Namun, jika -f Command
saklar baris digunakan, \prompt menggunakan input standar dan output standar.
\pset [ Option [ nilai ] ]
Perintah ini menetapkan opsi yang memengaruhi output tabel hasil kueri. Option
menunjukkan opsi mana yang akan disetel. Semantik dari nilai bervariasi tergantung pada
pilihan yang dipilih. Untuk beberapa opsi, hilangkan nilai menyebabkan opsi menjadi toggle atau
tidak disetel, seperti yang dijelaskan di bawah opsi tertentu. Jika tidak ada perilaku seperti itu yang disebutkan,
lalu hilangkan nilai hanya menghasilkan pengaturan saat ini yang ditampilkan.
\pset tanpa argumen apa pun menampilkan status saat ini dari semua opsi pencetakan.
Opsi pencetakan yang dapat disesuaikan adalah:
batas
nilai harus berupa angka. Secara umum, semakin tinggi angkanya, semakin banyak batas dan
garis yang akan dimiliki tabel, tetapi detailnya bergantung pada format tertentu. Dalam HTML
format, ini akan diterjemahkan langsung ke atribut border=.... Di sebagian besar lainnya
format hanya nilai 0 (tanpa batas), 1 (garis pemisah internal), dan 2 (tabel
frame) masuk akal, dan nilai di atas 2 akan diperlakukan sama dengan border = 2. The
format lateks dan lateks-longtable juga memungkinkan nilai 3 untuk menambah pembagian
garis antar baris data.
kolom
Menetapkan lebar target untuk format yang dibungkus, dan juga batas lebar untuk
menentukan apakah output cukup lebar untuk memerlukan pager atau beralih ke
tampilan vertikal dalam mode otomatis yang diperluas. Nol (default) menyebabkan lebar target
dikendalikan oleh variabel lingkungan KOLOM, atau lebar layar yang terdeteksi
if KOLOM tidak diatur. Selain itu, jika kolom adalah nol maka format yang dibungkus
hanya mempengaruhi output layar. Jika kolom bukan nol maka file dan output pipa adalah
dibungkus dengan lebar itu juga.
diperluas (atau x)
If nilai ditentukan itu harus hidup atau mati, yang akan mengaktifkan atau menonaktifkan
mode diperluas, atau otomatis. Jika nilai dihilangkan perintah beralih antara aktif dan
off pengaturan. Saat mode diperluas diaktifkan, hasil kueri ditampilkan dalam dua
kolom, dengan nama kolom di sebelah kiri dan data di sebelah kanan. Modus ini adalah
berguna jika data tidak muat di layar dalam mode "horizontal" normal. Di dalam
pengaturan otomatis, mode yang diperluas digunakan setiap kali output kueri lebih lebar
daripada layar, jika tidak, mode biasa digunakan. Pengaturan otomatis hanya
efektif dalam format yang disejajarkan dan dibungkus. Dalam format lain, selalu berperilaku
seolah-olah mode yang diperluas dimatikan.
bidangsep
Menentukan pemisah bidang yang akan digunakan dalam format output yang tidak selaras. Dengan cara itu
dapat membuat, misalnya, keluaran yang dipisahkan tab atau koma, yang mana program lain
mungkin lebih suka. Untuk mengatur tab sebagai pemisah bidang, ketik \pset fieldsep '\t'. NS
pemisah bidang default adalah '|' (batang vertikal).
fieldsep_zero
Menyetel pemisah bidang untuk digunakan dalam format output yang tidak selaras ke byte nol.
footer
If nilai ditentukan itu harus hidup atau mati yang akan mengaktifkan atau menonaktifkan
tampilan footer tabel (n baris) menghitung). Jika nilai dihilangkan perintahnya
mengaktifkan atau menonaktifkan tampilan footer.
format
Mengatur format output ke salah satu unaligned, selaras, dibungkus, html, asciidoc,
latex (menggunakan tabel), latex-longtable, atau troff-ms. Singkatan yang unik adalah
diizinkan. (Itu berarti satu huruf sudah cukup.)
format unaligned menulis semua kolom baris pada satu baris, dipisahkan oleh
pemisah bidang yang sedang aktif. Ini berguna untuk membuat output yang mungkin
dimaksudkan untuk dibaca oleh program lain (misalnya, tab-separated atau
format yang dipisahkan koma).
format selaras adalah output teks standar, dapat dibaca manusia, diformat dengan baik; ini
adalah defaultnya.
format yang dibungkus seperti selaras tetapi membungkus nilai data yang luas melintasi garis untuk membuat
keluaran sesuai dengan lebar kolom target. Lebar target ditentukan seperti yang dijelaskan
di bawah opsi kolom. Perhatikan bahwa psql tidak akan mencoba untuk membungkus header kolom
judul; oleh karena itu, format yang dibungkus berperilaku sama dengan yang disejajarkan jika lebar totalnya
diperlukan untuk header kolom melebihi target.
Format html, asciidoc, latex, latex-longtable, dan troff-ms mengeluarkan tabel
yang dimaksudkan untuk dimasukkan dalam dokumen dengan menggunakan mark-up masing-masing
bahasa. Itu bukan dokumen lengkap! Ini mungkin tidak diperlukan dalam HTML,
tetapi di LaTeX Anda harus memiliki pembungkus dokumen yang lengkap. lateks-longtable juga
membutuhkan paket LaTeX longtable dan booktabs.
gaya garis
Menyetel gaya menggambar garis batas ke salah satu ascii, ascii lama, atau unicode. Unik
singkatan diperbolehkan. (Itu berarti satu huruf sudah cukup.) Standarnya
pengaturan adalah ascii. Opsi ini hanya memengaruhi format output yang disejajarkan dan dibungkus.
gaya ascii menggunakan karakter ASCII biasa. Baris baru dalam data ditampilkan menggunakan +
simbol di margin kanan. Ketika format yang dibungkus membungkus data dari satu baris
ke berikutnya tanpa karakter baris baru, titik (.) ditampilkan di sebelah kanan
margin baris pertama, dan lagi di margin kiri baris berikutnya.
gaya lama-ascii menggunakan karakter ASCII biasa, menggunakan gaya pemformatan yang digunakan dalam
PostgreSQL 8.4 dan sebelumnya. Baris baru dalam data ditampilkan menggunakan simbol : di tempat
dari pemisah kolom sebelah kiri. Ketika data dibungkus dari satu baris ke
berikutnya tanpa karakter baris baru, a ; simbol digunakan sebagai pengganti tangan kiri
pemisah kolom.
gaya unicode menggunakan karakter gambar kotak Unicode. Baris baru dalam data ditampilkan
menggunakan simbol carriage return di margin kanan. Saat data dibungkus
dari satu baris ke baris berikutnya tanpa karakter baris baru, simbol elipsis ditampilkan
di margin kanan baris pertama, dan sekali lagi di margin kiri
baris berikut.
Ketika pengaturan batas lebih besar dari nol, opsi gaya garis juga menentukan
karakter yang digunakan untuk menggambar garis batas. Karakter ASCII biasa berfungsi
di mana-mana, tetapi karakter Unicode terlihat lebih bagus pada tampilan yang mengenalinya.
nol
Mengatur string yang akan dicetak sebagai pengganti nilai nol. Standarnya adalah untuk mencetak
tidak ada, yang dapat dengan mudah disalahartikan sebagai string kosong. Misalnya, seseorang mungkin
lebih suka \pset null '(null)'.
bilangan lokal
If nilai ditentukan itu harus hidup atau mati yang akan mengaktifkan atau menonaktifkan
tampilan karakter khusus lokal untuk memisahkan kelompok angka di sebelah kiri
penanda desimal. Jika nilai dihilangkan, perintah beralih antara reguler dan
keluaran numerik khusus lokal.
pager
Mengontrol penggunaan program pager untuk kueri dan keluaran bantuan psql. Jika lingkungan
variabel PAGER diatur, output disalurkan ke program yang ditentukan. Jika tidak, a
default yang bergantung pada platform (seperti lebih banyak) digunakan.
Saat opsi pager dimatikan, program pager tidak digunakan. Saat opsi pager
aktif, pager digunakan saat yang tepat, yaitu, saat output ke terminal
dan tidak muat di layar. Opsi pager juga dapat diatur ke selalu, yang
menyebabkan pager digunakan untuk semua keluaran terminal terlepas dari apakah itu cocok
di layar. \pset pager tanpa a nilai mengaktifkan dan menonaktifkan penggunaan pager.
pager_min_lines
Jika pager_min_lines diatur ke angka yang lebih besar dari tinggi halaman, pager
program tidak akan dipanggil kecuali ada setidaknya banyak baris output untuk
menunjukkan. Pengaturan default adalah 0.
catatan sep
Menentukan pemisah record (baris) untuk digunakan dalam format output yang tidak selaras. NS
default adalah karakter baris baru.
catatansep_zero
Menyetel pemisah rekaman untuk digunakan dalam format output yang tidak selaras ke byte nol.
tableattr (atau T)
Dalam format HTML, ini menentukan atribut untuk ditempatkan di dalam tag tabel. Ini
bisa misalnya cellpadding atau bgcolor. Perhatikan bahwa Anda mungkin tidak ingin
tentukan perbatasan di sini, karena itu sudah diurus oleh \pset perbatasan. Jika tidak nilai
diberikan, atribut tabel tidak disetel.
Dalam format lateks-longtable, ini mengontrol lebar proporsional setiap kolom
berisi tipe data rata kiri. Itu ditentukan sebagai dipisahkan oleh spasi
daftar nilai, misalnya '0.2 0.2 0.6'. Kolom keluaran yang tidak ditentukan menggunakan yang terakhir
nilai yang ditentukan.
judul
Mengatur judul tabel untuk setiap tabel yang dicetak selanjutnya. Ini dapat digunakan untuk memberi
tag deskriptif keluaran Anda. Jika tidak nilai diberikan, judul tidak disetel.
tuples_only (atau t)
If nilai ditentukan itu harus hidup atau mati yang akan mengaktifkan atau menonaktifkan
mode tupel saja. Jika nilai dihilangkan, perintah beralih antara reguler dan
keluaran tuple saja. Output reguler mencakup informasi tambahan seperti kolom
header, judul, dan berbagai footer. Dalam mode tuple-only, hanya data tabel aktual
ditampilkan.
unicode_border_linestyle
Menyetel gaya gambar batas untuk gaya garis unicode ke salah satu dari satu atau
dua kali lipat.
unicode_column_linestyle
Menyetel gaya gambar kolom untuk gaya garis unicode ke salah satu dari satu atau
dua kali lipat.
unicode_header_linestyle
Menyetel gaya gambar tajuk untuk gaya garis unicode ke salah satu dari satu atau
dua kali lipat.
Ilustrasi bagaimana format yang berbeda ini terlihat dapat dilihat di bagian CONTOH.
jenis
Ada berbagai perintah pintas untuk \pset. Lihat \a, \C, \H, \t, \T, dan \x.
\q atau \keluar
Keluar dari program psql. Dalam file skrip, hanya eksekusi skrip itu yang dihentikan.
\qecho teks [ ... ]
Perintah ini identik dengan \gema kecuali bahwa output akan ditulis ke kueri
saluran keluaran, seperti yang ditetapkan oleh \o.
\r atau \reset
Menyetel ulang (mengosongkan) buffer kueri.
\S [ nama file ]
Cetak riwayat baris perintah psql ke nama file. Jika nama file dihilangkan, sejarahnya adalah
ditulis ke output standar (menggunakan pager jika sesuai). Perintah ini tidak
tersedia jika psql dibangun tanpa dukungan Readline.
\mengatur [ nama [ nilai [... ] ] ]
Setel variabel psql nama untuk nilai, atau jika lebih dari satu nilai diberikan, ke
gabungan dari mereka semua. Jika hanya satu argumen yang diberikan, variabel diset dengan
nilai kosong. Untuk menghapus variabel, gunakan \tidak disetel perintah.
\mengatur tanpa argumen apa pun menampilkan nama dan nilai dari semua psql yang disetel saat ini
variabel.
Nama variabel yang valid dapat berisi huruf, angka, dan garis bawah. Lihat bagian
Variabel di bawah ini untuk detailnya. Nama variabel peka huruf besar/kecil.
Meskipun Anda dipersilakan untuk mengatur variabel apa pun ke apa pun yang Anda inginkan, psql memperlakukan beberapa
variabel sebagai khusus. Mereka didokumentasikan di bagian tentang variabel.
Note
Perintah ini tidak terkait dengan perintah SQL SET(7).
\setenv nama [ nilai ]
Mengatur variabel lingkungan nama untuk nilai, atau jika nilai tidak disediakan, tidak disetel
variabel lingkungan. Contoh:
testdb=> \setenv PAGER kurang
testdb=> \setenv KURANG -imx4F
\sf[+] Deskripsi fungsi
Perintah ini mengambil dan menunjukkan definisi fungsi bernama, dalam bentuk a
MEMBUAT OR REPLACE FUNGSI memerintah. Definisi dicetak ke kueri saat ini
saluran keluaran, seperti yang ditetapkan oleh \o.
Fungsi target dapat ditentukan dengan nama saja, atau dengan nama dan argumen, untuk
contoh foo(bilangan bulat, teks). Jenis argumen harus diberikan jika ada lebih dari satu
fungsi dengan nama yang sama.
Jika + ditambahkan ke nama perintah, maka baris keluaran diberi nomor, dengan
baris pertama dari badan fungsi menjadi baris 1.
\t
Mengalihkan tampilan judul nama kolom keluaran dan footer jumlah baris. Perintah ini
setara dengan \pset tuples_only dan disediakan untuk kenyamanan.
\T pilihan_tabel
Menentukan atribut yang akan ditempatkan dalam tag tabel dalam format output HTML. Ini
perintah setara dengan \pset tableattr pilihan_tabel.
\waktu [ on | lepas ]
Tanpa parameter, mengaktifkan tampilan berapa lama waktu yang dibutuhkan setiap pernyataan SQL, dalam
milidetik. Dengan parameter, set sama.
\tidak disetel nama
Menghapus (menghapus) variabel psql nama.
\w atau \tulis nama file
\w atau \tulis |Command
Menampilkan buffer kueri saat ini ke file nama file atau menyalurkannya ke perintah Shell
Command.
\jam tangan [ detik ]
Jalankan buffer kueri saat ini berulang kali (seperti \g) hingga interupsi atau kueri
gagal. Tunggu jumlah detik yang ditentukan (default 2) di antara eksekusi.
\X [ on | lepas | mobil ]
Menyetel atau mengaktifkan mode pemformatan tabel yang diperluas. Karena itu setara dengan \pset
diperluas.
\z [ belt hold ]
Mencantumkan tabel, tampilan, dan urutan dengan hak akses yang terkait. Jika sebuah
belt hold ditentukan, hanya tabel, tampilan, dan urutan yang namanya cocok dengan polanya
terdaftar.
Ini adalah alias untuk \dp (“hak istimewa tampilan”).
\! [ Command ]
Melarikan diri ke shell terpisah atau menjalankan perintah shell Command. Argumennya adalah
tidak ditafsirkan lebih lanjut; shell akan melihat mereka apa adanya. Secara khusus, variabel
aturan substitusi dan pelolosan garis miring terbalik tidak berlaku.
\? [ tema ]
Menampilkan informasi bantuan. opsional tema parameter (default ke perintah) memilih
bagian mana dari psql yang dijelaskan: perintah menjelaskan perintah garis miring terbalik psql; pilihan
menjelaskan opsi baris perintah yang dapat diteruskan ke psql; dan variabel menunjukkan
bantuan tentang variabel konfigurasi psql.
Pola
Berbagai perintah \d menerima a belt hold parameter untuk menentukan nama objek yang akan
ditampilkan. Dalam kasus yang paling sederhana, sebuah pola hanyalah nama objek yang tepat. NS
karakter dalam pola biasanya dilipat menjadi huruf kecil, seperti pada nama SQL;
misalnya, \dt FOO akan menampilkan tabel bernama foo. Seperti dalam nama SQL, menempatkan double
kutipan di sekitar pola berhenti melipat ke huruf kecil. Jika Anda perlu menyertakan
karakter kutipan ganda yang sebenarnya dalam suatu pola, tulis sebagai sepasang tanda kutip ganda di dalam
urutan kutipan ganda; sekali lagi ini sesuai dengan aturan untuk SQL yang dikutip
pengenal. Misalnya, \dt "FOO""BAR" akan menampilkan tabel bernama FOO"BAR (bukan
foo"bar). Tidak seperti aturan normal untuk nama SQL, Anda dapat menempatkan tanda kutip ganda di sekitar
bagian dari pola, misalnya \dt FOO"FOO"BAR akan menampilkan tabel bernama
fooFOObar.
Kapan pun belt hold parameter dihilangkan sepenuhnya, perintah \d menampilkan semua
objek yang terlihat di jalur pencarian skema saat ini — ini setara dengan
menggunakan * sebagai pola. (Sebuah objek dikatakan terlihat jika skema yang mengandungnya adalah
di jalur pencarian dan tidak ada objek dengan jenis dan nama yang sama yang muncul sebelumnya di
jalur pencarian. Ini setara dengan pernyataan bahwa objek dapat direferensikan oleh
nama tanpa kualifikasi skema eksplisit.) Untuk melihat semua objek dalam database
terlepas dari visibilitas, gunakan *.* sebagai polanya.
Dalam suatu pola, * cocok dengan urutan karakter apa pun (termasuk tanpa karakter) dan ?
cocok dengan karakter tunggal apa pun. (Notasi ini sebanding dengan nama file shell Unix
pola.) Misalnya, \dt int* menampilkan tabel yang namanya dimulai dengan int. Tetapi
dalam tanda kutip ganda, * dan ? kehilangan makna khusus ini dan hanya cocok
secara harfiah.
Pola yang mengandung titik (.) diartikan sebagai pola nama skema yang diikuti oleh
pola nama objek. Misalnya, \dt foo*.*bar* menampilkan semua tabel yang tabelnya
nama termasuk bilah yang ada di skema yang nama skemanya dimulai dengan foo. Ketika tidak ada titik
muncul, maka polanya hanya cocok dengan objek yang terlihat dalam skema saat ini
jalur pencarian. Sekali lagi, sebuah titik dalam tanda kutip ganda kehilangan arti khususnya dan adalah
cocok secara harfiah.
Pengguna tingkat lanjut dapat menggunakan notasi ekspresi reguler seperti kelas karakter, untuk
contoh [0-9] untuk mencocokkan digit apa pun. Semua karakter khusus ekspresi reguler berfungsi sebagai
ditentukan dalam Bagian 9.7.3, “POSIX Regular Expressions”, dalam dokumentasi, kecuali
untuk . yang diambil sebagai pemisah seperti yang disebutkan di atas, * yang diterjemahkan menjadi
notasi ekspresi reguler .*, ? yang diterjemahkan ke ., dan $ yang cocok
secara harfiah. Anda dapat meniru karakter pola ini sesuai kebutuhan dengan menulis ? untuk ., (R+|)
untuk R*, atau (R|) untuk R?. $ tidak diperlukan sebagai karakter ekspresi reguler karena
pola harus cocok dengan seluruh nama, tidak seperti interpretasi biasa dari regular
ekspresi (dengan kata lain, $ secara otomatis ditambahkan ke pola Anda). Tulis * at
awal dan/atau akhir jika Anda tidak ingin pola ditambatkan. Perhatikan bahwa
dalam tanda kutip ganda, semua karakter khusus ekspresi reguler kehilangan spesialnya
makna dan dicocokkan secara harfiah. Juga, ekspresi reguler karakter khusus
dicocokkan secara harfiah dalam pola nama operator (yaitu, argumen \do).
Advanced Fitur
Variabel
psql menyediakan fitur substitusi variabel yang mirip dengan shell perintah Unix umum.
Variabel hanyalah pasangan nama/nilai, di mana nilainya dapat berupa string apa pun
panjang. Nama harus terdiri dari huruf (termasuk huruf non-Latin), angka, dan
menggarisbawahi.
Untuk mengatur variabel, gunakan perintah meta psql \mengatur. Sebagai contoh,
testdb=> \mengatur foo bar
menyetel variabel foo ke bilah nilai. Untuk mengambil isi variabel,
awali nama dengan titik dua, misalnya:
testdb=> \gema : foo
bar
Ini berfungsi baik di perintah SQL biasa dan perintah meta; ada lebih detail di SQL
Interpolasi, di bawah.
Jika Anda menelepon \mengatur tanpa argumen kedua, variabel disetel, dengan string kosong
sebagai nilai. Untuk menghapus (yaitu, menghapus) variabel, gunakan perintah \tidak disetel. Untuk menunjukkan
nilai semua variabel, panggil \mengatur tanpa argumen apapun.
Note
Argumen dari \mengatur tunduk pada aturan substitusi yang sama seperti yang lainnya
perintah. Dengan demikian Anda dapat membuat referensi menarik seperti \set :foo
'sesuatu' dan dapatkan "tautan lunak" atau "variabel variabel" dari ketenaran Perl atau PHP,
masing-masing. Sayangnya (atau untungnya?), tidak ada cara untuk melakukan apa pun
berguna dengan konstruksi ini. Di sisi lain, \set bar :foo adalah sempurna
cara yang valid untuk menyalin variabel.
Sejumlah variabel ini diperlakukan secara khusus oleh psql. Mereka mewakili tertentu
pengaturan opsi yang dapat diubah saat dijalankan dengan mengubah nilai variabel,
atau dalam beberapa kasus mewakili keadaan psql yang dapat diubah. Meskipun Anda dapat menggunakan ini
variabel untuk tujuan lain, ini tidak disarankan, karena perilaku program mungkin
tumbuh sangat aneh sangat cepat. Dengan konvensi, semua variabel yang diperlakukan secara khusus
nama terdiri dari semua huruf besar ASCII (dan mungkin angka dan garis bawah).
Untuk memastikan kompatibilitas maksimum di masa mendatang, hindari menggunakan nama variabel seperti itu untuk
tujuan Anda sendiri. Daftar semua variabel yang diperlakukan secara khusus berikut ini.
KOMITMEN OTOMATIS
Saat aktif (default), setiap perintah SQL secara otomatis dilakukan setelah berhasil
penyelesaian. Untuk menunda komit dalam mode ini, Anda harus memasukkan a MULAI or MULAI
TRANSAKSI perintah SQL. Saat tidak aktif atau tidak disetel, perintah SQL tidak dilakukan sampai
Anda secara eksplisit mengeluarkan KOMIT or AKHIR. Mode autocommit-off bekerja dengan mengeluarkan
implisit MULAI untuk Anda, tepat sebelum perintah apa pun yang belum ada di a
blok transaksi dan bukan dirinya sendiri MULAI atau perintah kontrol transaksi lainnya,
atau perintah yang tidak dapat dieksekusi di dalam blok transaksi (seperti KEKOSONGAN).
Note
Dalam mode autocommit-off, Anda harus secara eksplisit mengabaikan transaksi yang gagal dengan
memasuki MENGGUGURKAN or KEMBALI. Juga perlu diingat bahwa jika Anda keluar dari sesi
tanpa komitmen, pekerjaan Anda akan hilang.
Note
Mode autocommit-on adalah perilaku tradisional PostgreSQL, tetapi
autocommit-off lebih dekat dengan spesifikasi SQL. Jika Anda lebih suka autocommit-off, Anda
mungkin ingin mengaturnya di file psqlrc seluruh sistem atau Anda ~/.psqlrc file.
COMP_KEYWORD_CASE
Menentukan huruf besar mana yang akan digunakan saat melengkapi kata kunci SQL. Jika diatur ke
bawah atau atas, kata yang telah selesai akan masing-masing dalam huruf kecil atau besar.
Jika diatur ke pertahankan-bawah atau pertahankan-atas (default), kata yang sudah selesai akan
dalam kasus kata yang sudah dimasukkan, tetapi kata-kata yang diselesaikan tanpa
apa pun yang dimasukkan akan dalam huruf kecil atau huruf besar, masing-masing.
NAMA DB
Nama database tempat Anda terhubung saat ini. Ini diatur setiap saat
Anda terhubung ke database (termasuk program start-up), tapi bisa tidak disetel.
ECHO
Jika disetel ke semua, semua jalur input yang tidak kosong akan dicetak ke output standar sebagaimana adanya
Baca. (Ini tidak berlaku untuk baris yang dibaca secara interaktif.) Untuk memilih perilaku ini
saat memulai program, gunakan sakelar -a. Jika disetel ke kueri, psql mencetak setiap kueri
ke output standar saat dikirim ke server. Saklar untuk ini adalah -e. Jika disetel
kesalahan, maka hanya kueri yang gagal yang ditampilkan pada keluaran kesalahan standar. NS
beralih untuk ini adalah -b. Jika tidak disetel, atau jika disetel ke tidak ada (atau nilai apa pun selain itu
di atas) maka tidak ada kueri yang ditampilkan.
ECHO_TERSEMBUNYI
Ketika variabel ini disetel ke aktif dan perintah garis miring terbalik menanyakan database,
kueri pertama kali ditampilkan. Fitur ini membantu Anda mempelajari internal PostgreSQL dan
menyediakan fungsionalitas serupa di program Anda sendiri. (Untuk memilih perilaku ini pada
memulai program, gunakan sakelar -E.) Jika Anda mengatur variabel ke nilai noexec,
kueri hanya ditampilkan tetapi tidak benar-benar dikirim ke server dan dieksekusi.
pengkodean
Encoding set karakter klien saat ini.
FETCH_COUNT
Jika variabel ini diatur ke nilai integer > 0, hasil dari MEMILIH pertanyaan adalah
diambil dan ditampilkan dalam grup dengan banyak baris, bukan default
perilaku mengumpulkan seluruh hasil yang ditetapkan sebelum ditampilkan. Oleh karena itu hanya
jumlah terbatas memori yang digunakan, terlepas dari ukuran set hasil.
Pengaturan 100 hingga 1000 biasanya digunakan saat mengaktifkan fitur ini. Mengingat
bahwa saat menggunakan fitur ini, kueri mungkin gagal setelah ditampilkan
beberapa baris.
jenis
Meskipun Anda dapat menggunakan format output apa pun dengan fitur ini, defaultnya disejajarkan
format cenderung terlihat buruk karena setiap kelompok FETCH_COUNT baris akan menjadi
diformat secara terpisah, yang mengarah ke berbagai lebar kolom di seluruh grup baris.
Format output lainnya bekerja lebih baik.
KONTROL HIST
Jika variabel ini diatur ke abaikan spasi, garis yang dimulai dengan spasi tidak
dimasukkan ke dalam daftar riwayat. Jika diatur ke nilai yang diabaikan, baris yang cocok dengan
baris riwayat sebelumnya tidak dimasukkan. Nilai abaikankeduanya menggabungkan keduanya
pilihan. Jika tidak disetel, atau jika disetel ke tidak ada (atau nilai lain selain yang di atas), semua
baris yang dibaca dalam mode interaktif disimpan di daftar riwayat.
Note
Fitur ini tanpa malu-malu dijiplak dari Bash.
FILE HIST
Nama file yang akan digunakan untuk menyimpan daftar riwayat. Nilai defaultnya adalah
~/.psql_history. Misalnya, menempatkan:
\mengatur FILE HIST ~/.psql_history- : DBNAME
in ~/.psqlrc akan menyebabkan psql mempertahankan riwayat terpisah untuk setiap basis data.
Note
Fitur ini tanpa malu-malu dijiplak dari Bash.
UKURAN SEJARAH
Jumlah perintah untuk disimpan dalam riwayat perintah. Nilai defaultnya adalah 500.
Note
Fitur ini tanpa malu-malu dijiplak dari Bash.
HOST
Host server basis data yang saat ini Anda sambungkan. Ini diatur setiap saat
Anda terhubung ke database (termasuk program start-up), tapi bisa tidak disetel.
ABAIKAN
Jika tidak disetel, mengirim karakter EOF (biasanya Control+D) ke sesi interaktif
dari psql akan menghentikan aplikasi. Jika diatur ke nilai numerik, banyak EOF
karakter diabaikan sebelum aplikasi berakhir. Jika variabel diatur
tetapi tidak memiliki nilai numerik, defaultnya adalah 10.
Note
Fitur ini tanpa malu-malu dijiplak dari Bash.
TERAKHIR
Nilai OID terakhir yang terpengaruh, seperti yang dikembalikan dari MEMASUKKAN or \lo_impor
memerintah. Variabel ini hanya dijamin valid sampai setelah hasil
perintah SQL berikutnya telah ditampilkan.
ON_ERROR_ROLLBACK
Saat disetel ke aktif, jika pernyataan di blok transaksi menghasilkan kesalahan,
kesalahan diabaikan dan transaksi dilanjutkan. Saat diatur ke interaktif, seperti
kesalahan hanya diabaikan dalam sesi interaktif, dan bukan saat membaca skrip
file. Saat tidak disetel atau dimatikan, pernyataan di blok transaksi yang menghasilkan
kesalahan membatalkan seluruh transaksi. Mode rollback kesalahan bekerja dengan mengeluarkan
sebuah implisit SAVEPOINT untuk Anda, tepat sebelum setiap perintah yang ada dalam transaksi
blok, dan kemudian kembali ke savepoint jika perintah gagal.
ON_ERROR_STOP
Secara default, pemrosesan perintah berlanjut setelah kesalahan. Ketika variabel ini disetel
ke aktif, pemrosesan malah akan segera berhenti. Dalam mode interaktif, psql akan
kembali ke prompt perintah; jika tidak, psql akan keluar, mengembalikan kode kesalahan 3 ke
membedakan kasus ini dari kondisi kesalahan fatal, yang dilaporkan menggunakan kesalahan
kode 1. Dalam kedua kasus, skrip apa pun yang sedang berjalan (skrip tingkat atas, jika
apapun, dan skrip lain yang mungkin ada di dalamnya) akan dihentikan
langsung. Jika string perintah tingkat atas berisi beberapa perintah SQL,
pemrosesan akan berhenti dengan perintah saat ini.
PORT
Port server database tempat Anda terhubung saat ini. Ini diatur setiap
waktu Anda terhubung ke database (termasuk program start-up), tapi bisa tidak disetel.
PROMPT1
PROMPT2
PROMPT3
Ini menentukan seperti apa tampilan masalah psql yang diminta. Lihat Anjuran di bawah ini.
DIAM
Menyetel variabel ini ke aktif setara dengan opsi baris perintah -q. Sekarang
mungkin tidak terlalu berguna dalam mode interaktif.
GARIS TUNGGAL
Menyetel variabel ini ke aktif setara dengan opsi baris perintah -S.
SATU LANGKAH
Menyetel variabel ini ke aktif setara dengan opsi baris perintah -s.
PENGGUNA
Pengguna database tempat Anda terhubung saat ini. Ini diatur setiap kali Anda
terhubung ke database (termasuk program start-up), tetapi bisa tidak disetel.
VERBOSITAS
Variabel ini dapat diatur ke nilai default, verbose, atau singkat untuk mengontrol
verbositas laporan kesalahan.
SQL Interpolasi
Fitur utama dari variabel psql adalah Anda dapat menggantinya (“interpolasi”) menjadi
pernyataan SQL biasa, serta argumen perintah-meta. Selanjutnya, psql
menyediakan fasilitas untuk memastikan bahwa nilai variabel digunakan sebagai literal SQL dan
pengidentifikasi dikutip dengan benar. Sintaks untuk menginterpolasi nilai tanpa
mengutip adalah untuk menambahkan nama variabel dengan titik dua (:). Sebagai contoh,
testdb=> \mengatur foo 'meja_saya'
testdb=> MEMILIH * DARI :aduh;
akan menanyakan tabel my_table. Perhatikan bahwa ini mungkin tidak aman: nilai
variabel disalin secara harfiah, sehingga dapat berisi tanda kutip yang tidak seimbang, atau bahkan garis miring terbalik
perintah. Anda harus memastikan bahwa masuk akal di mana Anda meletakkannya.
Ketika suatu nilai akan digunakan sebagai literal atau pengenal SQL, paling aman untuk mengaturnya
untuk dikutip. Untuk mengutip nilai variabel sebagai literal SQL, tulis titik dua
diikuti dengan nama variabel dalam tanda kutip tunggal. Mengutip nilai sebagai SQL
pengenal, tulis titik dua diikuti dengan nama variabel dalam tanda kutip ganda. Ini
konstruksi berurusan dengan benar dengan kutipan dan karakter khusus lainnya yang tertanam di dalam
nilai variabel. Contoh sebelumnya akan lebih aman ditulis seperti ini:
testdb=> \mengatur foo 'meja_saya'
testdb=> MEMILIH * DARI :"huu";
Interpolasi variabel tidak akan dilakukan dalam literal SQL yang dikutip dan
pengenal. Oleh karena itu, konstruksi seperti ':foo' tidak berfungsi untuk menghasilkan kutipan
literal dari nilai variabel (dan tidak aman jika berhasil, karena itu
tidak akan menangani tanda kutip yang disematkan dalam nilai dengan benar).
Salah satu contoh penggunaan mekanisme ini adalah menyalin isi file ke dalam tabel
kolom. Pertama-tama muat file ke dalam variabel dan kemudian interpolasi nilai variabel
sebagai string yang dikutip:
testdb=> \mengatur Konten `kucing file_saya.txt`
testdb=> MEMASUKKAN KE meja_saya NILAI (:'isi');
(Perhatikan bahwa ini masih tidak akan berfungsi jika my_file.txt berisi NUL byte. psql tidak
mendukung byte NUL yang disematkan dalam nilai variabel.)
Karena titik dua dapat muncul secara legal dalam perintah SQL, upaya nyata untuk interpolasi
(yaitu, :nama, :'nama', atau :"nama") tidak diganti kecuali variabel bernama adalah
saat ini ditetapkan. Bagaimanapun, Anda dapat menghindari titik dua dengan garis miring terbalik untuk melindunginya dari
pengganti.
Sintaks titik dua untuk variabel adalah SQL standar untuk bahasa kueri yang disematkan, seperti
ECPG. Sintaks titik dua untuk irisan array dan tipe gips adalah ekstensi PostgreSQL,
yang terkadang dapat bertentangan dengan penggunaan standar. Sintaks tanda titik dua untuk
keluar dari nilai variabel sebagai literal atau pengenal SQL adalah ekstensi psql.
Dorongan
Masalah psql petunjuknya dapat disesuaikan dengan preferensi Anda. Tiga variabel
PROMPT1, PROMPT2, dan PROMPT3 berisi string dan urutan pelarian khusus yang
menggambarkan tampilan prompt. Prompt 1 adalah prompt normal yang dikeluarkan
ketika psql meminta perintah baru. Prompt 2 dikeluarkan ketika lebih banyak input diharapkan
selama input perintah karena perintah tidak diakhiri dengan titik koma atau a
kutipan tidak ditutup. Prompt 3 dikeluarkan saat Anda menjalankan SQL COPY perintah dan kamu adalah
diharapkan untuk mengetikkan nilai baris pada terminal.
Nilai dari variabel prompt yang dipilih dicetak secara harfiah, kecuali di mana persen
tanda (%) ditemui. Bergantung pada karakter berikutnya, teks tertentu lainnya adalah
diganti sebagai gantinya. Substitusi yang ditentukan adalah:
%M
Nama host lengkap (dengan nama domain) dari server database, atau [lokal] jika
koneksi melalui soket domain Unix, atau [local:/dir/nama], jika domain Unix
socket tidak dikompilasi di lokasi default.
%m
Nama host dari server database, terpotong di titik pertama, atau [local] jika
koneksi melalui soket domain Unix.
%>
Nomor port tempat server database mendengarkan.
%n
Nama pengguna sesi database. (Perluasan nilai ini mungkin berubah selama a
sesi database sebagai hasil dari perintah SET SIDANG OTORISASI.)
%/
Nama database saat ini.
%~
Seperti %/, tetapi outputnya adalah ~ (tilde) jika database adalah database default Anda.
%#
Jika pengguna sesi adalah pengguna super basis data, maka #, jika tidak, a >. (Itu
perluasan nilai ini mungkin berubah selama sesi database sebagai akibat dari
perintah SET SIDANG OTORISASI.)
%R
Di prompt 1 biasanya =, tetapi ^ jika dalam mode satu baris, dan ! jika sesinya adalah
terputus dari database (yang dapat terjadi jika \Menghubung gagal). Di prompt 2
urutannya diganti dengan -, *, tanda kutip tunggal, tanda kutip ganda, atau satu dolar
tanda, tergantung pada apakah psql mengharapkan lebih banyak input karena perintahnya tidak
belum dihentikan, karena Anda berada di dalam /* ... */ komentar, atau karena Anda
di dalam string yang dikutip atau dengan nilai dolar. Di Prompt 3 urutannya tidak menghasilkan
apa pun.
%x
Status transaksi: string kosong saat tidak berada di blok transaksi, atau * saat di
blok transaksi, atau ! ketika dalam blok transaksi yang gagal, atau ? ketika
status transaksi tidak tentu (misalnya, karena tidak ada koneksi).
%l
Nomor baris di dalam pernyataan saat ini, mulai dari 1.
%digit
Karakter dengan kode oktal yang ditunjukkan diganti.
%:nama:
Nilai dari variabel psql nama. Lihat bagian Variabel untuk detailnya.
%`Command`
Output dari Command, mirip dengan substitusi "back-tick" biasa.
%[ ... %]
Prompt dapat berisi karakter kontrol terminal yang, misalnya, mengubah
warna, latar belakang, atau gaya teks prompt, atau ubah judul
jendela terminal. Agar fitur pengeditan baris Readline berfungsi
dengan benar, karakter kontrol non-cetak ini harus ditetapkan sebagai tidak terlihat oleh
mengelilinginya dengan %[ dan %]. Beberapa pasangan ini dapat terjadi dalam
mengingatkan. Sebagai contoh:
testdb=> \set PROMPT1 '%[%033[1;33;40m%]%n@%/%R%[%033[0m%]%# '
menghasilkan prompt tebal (1;) kuning-hitam (33;40) pada kompatibel-VT100,
terminal berkemampuan warna.
Untuk memasukkan tanda persen ke prompt Anda, tulis %%. Perintah default adalah '%/%R%# '
untuk prompt 1 dan 2, dan '>> ' untuk prompt 3.
Note
Fitur ini tanpa malu-malu dijiplak dari tcsh.
Garis komando Mengedit
psql mendukung pustaka Readline untuk pengeditan dan pengambilan baris yang nyaman. Itu
riwayat perintah secara otomatis disimpan saat psql keluar dan dimuat ulang saat psql
dimulai. Penyelesaian tab juga didukung, meskipun logika penyelesaian tidak membuat
mengklaim sebagai pengurai SQL. Kueri yang dihasilkan oleh penyelesaian tab juga dapat mengganggu
dengan perintah SQL lainnya, misalnya SET TRANSACTION ISOLATION LEVEL. Jika karena alasan tertentu kamu
tidak suka penyelesaian tab, Anda dapat mematikannya dengan meletakkan ini di file bernama
.inputrc di direktori home Anda:
$jika psql
aktifkan penyelesaian-penonaktifan
$endif
(Ini bukan psql tetapi fitur Readline. Baca dokumentasinya untuk lebih lanjut
detailnya.)
LINGKUNGAN
KOLOM
Jika \pset kolom adalah nol, kontrol lebar untuk format yang dibungkus dan lebar untuk
menentukan apakah keluaran lebar memerlukan pager atau harus dialihkan ke vertikal
format dalam mode otomatis yang diperluas.
PAGER
Jika hasil kueri tidak pas di layar, mereka disalurkan melalui perintah ini.
Nilai-nilai tipikal lebih atau kurang. Standarnya bergantung pada platform. Penggunaan dari
pager dapat dinonaktifkan dengan menggunakan \pset perintah.
PGDATABASE
PGHOST
PGPORT
PGUSER
Parameter koneksi default (lihat Bagian 31.14, “Variabel Lingkungan”, di
dokumentasi).
PSQL_EDITOR
EDITOR
VISUAL
Editor yang digunakan oleh \e dan \ef perintah. Variabel diperiksa dalam urutan
terdaftar; yang pertama ditetapkan digunakan.
Editor bawaan bawaan adalah vi pada sistem Unix dan notepad.exe pada Windows
sistem.
PSQL_EDITOR_LINENUMBER_ARG
Ketika \e or \ef digunakan dengan argumen nomor baris, variabel ini menentukan
argumen baris perintah yang digunakan untuk meneruskan nomor baris awal ke editor pengguna. Untuk
editor seperti Emacs atau vi, ini adalah tanda plus. Sertakan spasi tambahan di
nilai variabel jika perlu ada spasi antara nama opsi dan baris
nomor. Contoh:
PSQL_EDITOR_LINENUMBER_ARG='+'
PSQL_EDITOR_LINENUMBER_ARG='--line '
Standarnya adalah + pada sistem Unix (sesuai dengan editor default vi, dan berguna
untuk banyak editor umum lainnya); tetapi tidak ada default pada sistem Windows.
PSQL_HISTORY
Lokasi alternatif untuk file riwayat perintah. Ekspansi Tilde (~) dilakukan.
PSQLRC
Lokasi alternatif file .psqlrc pengguna. Ekspansi Tilde (~) dilakukan.
SHELL
Perintah yang dijalankan oleh \! perintah.
TMPDIR
Direktori untuk menyimpan file-file sementara. Standarnya adalah /tmp.
Utilitas ini, seperti kebanyakan utilitas PostgreSQL lainnya, juga menggunakan variabel lingkungan
didukung oleh libpq (lihat Bagian 31.14, “Variabel Lingkungan”, dalam dokumentasi).
Gunakan psql online menggunakan layanan onworks.net