Ini adalah postgres perintah 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
postgres - server basis data PostgreSQL
RINGKASAN
postgres [Option...]
DESKRIPSI
postgres adalah server basis data PostgreSQL. Agar aplikasi klien dapat mengakses a
database yang terhubung (melalui jaringan atau lokal) ke jaringan yang sedang berjalan postgres contoh. Itu
postgres instance kemudian memulai proses server terpisah untuk menangani koneksi.
Satu postgres instance selalu mengelola data tepat satu cluster database. Sebuah database
cluster adalah kumpulan database yang disimpan di lokasi sistem file umum (
"wilayah data"). Lebih dari satu postgres instance dapat berjalan pada sistem pada satu waktu, asalkan
mereka menggunakan area data yang berbeda dan port komunikasi yang berbeda (lihat di bawah). Kapan postgres
dimulai perlu mengetahui lokasi area data. Lokasi harus ditentukan oleh
itu -D pilihan atau PGDATA variabel lingkungan; tidak ada bawaan. Khas, -D or
PGDATA menunjuk langsung ke direktori area data yang dibuat oleh initdb(1). Kemungkinan lain
tata letak file dibahas di Bagian 18.2, "Lokasi File", dalam dokumentasi.
Secara default postgres dimulai di latar depan dan mencetak pesan log ke kesalahan standar
sungai kecil. Dalam aplikasi praktis postgres harus dimulai sebagai proses latar belakang,
mungkin saat boot.
postgres perintah juga dapat dipanggil dalam mode pengguna tunggal. Penggunaan utama untuk mode ini
adalah selama bootstrap oleh initdb(1). Terkadang digunakan untuk debugging atau bencana
pemulihan; perhatikan bahwa menjalankan server pengguna tunggal tidak benar-benar cocok untuk men-debug
server, karena tidak ada komunikasi antarproses yang realistis dan penguncian yang akan terjadi. Kapan
dipanggil dalam mode pengguna tunggal dari shell, pengguna dapat memasukkan kueri dan hasilnya
akan dicetak ke layar, tetapi dalam bentuk yang lebih berguna bagi pengembang daripada akhir
pengguna. Dalam mode pengguna tunggal, pengguna sesi akan disetel ke pengguna dengan ID 1, dan
kekuatan superuser implisit diberikan kepada pengguna ini. Pengguna ini sebenarnya tidak harus
ada, jadi mode pengguna tunggal dapat digunakan untuk memulihkan secara manual dari beberapa jenis
kerusakan yang tidak disengaja pada katalog sistem.
PILIHAN
postgres menerima argumen baris perintah berikut. Untuk pembahasan rinci tentang
opsi lihat Bab 18, Konfigurasi Server, dalam dokumentasi. Anda dapat menyimpan
mengetik sebagian besar opsi ini dengan menyiapkan file konfigurasi. Beberapa opsi (aman) bisa
juga diatur dari klien penghubung dengan cara yang bergantung pada aplikasi untuk hanya berlaku untuk
sesi itu. Misalnya, jika variabel lingkungan PGOPSI diatur, lalu berbasis libpq
klien akan meneruskan string itu ke server, yang akan menafsirkannya sebagai postgres
opsi baris perintah.
Umum Tujuan
-B nbuffer
Menetapkan jumlah buffer bersama untuk digunakan oleh proses server. Nilai default
parameter ini dipilih secara otomatis oleh initdb. Menentukan opsi ini adalah
setara dengan menyetel parameter konfigurasi shared_buffers.
-c nama=nilai
Menetapkan parameter run-time bernama. Parameter konfigurasi yang didukung oleh PostgreSQL
dijelaskan dalam Bab 18, Konfigurasi Server, dalam dokumentasi. Sebagian besar
opsi baris perintah lainnya sebenarnya adalah bentuk singkat dari penetapan parameter semacam itu. -c
dapat muncul beberapa kali untuk mengatur beberapa parameter.
-C nama
Mencetak nilai parameter run-time bernama, dan keluar. (Lihat -c pilihan di atas
untuk detailnya.) Ini dapat digunakan pada server yang sedang berjalan, dan mengembalikan nilai dari
postgresql.conf, dimodifikasi oleh parameter apa pun yang disediakan dalam doa ini. Itu tidak
mencerminkan parameter yang diberikan saat cluster dimulai.
Opsi ini dimaksudkan untuk program lain yang berinteraksi dengan instance server, seperti
hal_ctl(1), untuk menanyakan nilai parameter konfigurasi. Aplikasi yang menghadap pengguna harus
alih-alih gunakan TAMPILKAN(7) atau tampilan pg_settings.
-d tingkat debug
Mengatur tingkat debug. Semakin tinggi nilai ini ditetapkan, semakin banyak output debug
ditulis ke log server. Nilainya dari 1 hingga 5. Dimungkinkan juga untuk melewati -d 0
untuk sesi tertentu, yang akan mencegah level log server induk postgres
proses dari yang disebarkan ke sesi ini.
-D datadir
Menentukan lokasi sistem file dari file konfigurasi database. Lihat Bagian
18.2, “Lokasi File”, dalam dokumentasi untuk detailnya.
-e
Menyetel gaya tanggal default ke "Eropa", yaitu pemesanan DMY bidang tanggal input.
Ini juga menyebabkan hari dicetak sebelum bulan dalam keluaran tanggal tertentu
format. Lihat Bagian 8.5, “Jenis Tanggal/Waktu”, dalam dokumentasi untuk lebih lanjut
informasi.
-F
Nonaktifkan fsync menyerukan peningkatan kinerja, dengan risiko korupsi data di
peristiwa crash sistem. Menentukan opsi ini sama dengan menonaktifkan fsync
parameter konfigurasi. Baca dokumentasi rinci sebelum menggunakan ini!
-h hostname
Menentukan nama atau alamat host IP yang postgres adalah mendengarkan TCP/IP
koneksi dari aplikasi klien. Nilainya juga dapat berupa daftar yang dipisahkan koma dari
alamat, atau * untuk menentukan mendengarkan pada semua antarmuka yang tersedia. Nilai kosong
menentukan tidak mendengarkan pada alamat IP apa pun, dalam hal ini hanya soket domain Unix
dapat digunakan untuk terhubung ke server. Default untuk mendengarkan hanya di localhost.
Menentukan opsi ini sama dengan menyetel konfigurasi listen_addresses
parameter.
-i
Memungkinkan klien jarak jauh untuk terhubung melalui koneksi TCP/IP (domain Internet). Tanpa
opsi ini, hanya koneksi lokal yang diterima. Opsi ini setara dengan pengaturan
mendengarkan_alamat ke * di postgresql.conf atau melalui -h.
Opsi ini tidak digunakan lagi karena tidak mengizinkan akses ke fungsionalitas penuh dari
mendengarkan_alamat. Biasanya lebih baik untuk mengatur mendengarkan_alamat langsung.
-k direktori
Menentukan direktori soket domain Unix tempat postgres adalah untuk mendengarkan
koneksi dari aplikasi klien. Nilainya juga dapat berupa daftar yang dipisahkan koma dari
direktori. Nilai kosong menentukan tidak mendengarkan pada soket domain Unix apa pun, di
dalam hal ini hanya soket TCP/IP yang dapat digunakan untuk terhubung ke server. Nilai default
biasanya / Tmp, tapi itu bisa diubah pada waktu build. Menentukan opsi ini adalah
setara dengan menyetel parameter konfigurasi unix_socket_directories.
-l
Mengaktifkan koneksi aman menggunakan SSL. PostgreSQL harus telah dikompilasi dengan dukungan
untuk SSL agar opsi ini tersedia. Untuk informasi lebih lanjut tentang menggunakan SSL, lihat
Bagian 17.9, “Mengamankan Koneksi TCP/IP dengan SSL”, dalam dokumentasi.
-N koneksi maks
Menyetel jumlah maksimum koneksi klien yang akan diterima server ini. Itu
nilai default parameter ini dipilih secara otomatis oleh initdb. Menentukan ini
opsi setara dengan menyetel parameter konfigurasi max_connections.
-o opsi tambahan
Argumen gaya baris perintah yang ditentukan dalam opsi tambahan diteruskan ke semua server
proses dimulai oleh ini postgres proses.
Ruang di dalam opsi tambahan dianggap sebagai argumen yang terpisah, kecuali diloloskan dengan
garis miring terbalik (\); tulis \\ untuk mewakili garis miring terbalik literal. Beberapa argumen bisa
juga ditentukan melalui beberapa penggunaan -o.
Penggunaan opsi ini sudah usang; semua opsi baris perintah untuk proses server dapat
ditentukan langsung pada postgres garis komando.
-p pelabuhan
Menentukan port TCP/IP atau ekstensi file soket domain Unix lokal tempat postgres
adalah untuk mendengarkan koneksi dari aplikasi klien. Default ke nilai
PGPORT variabel lingkungan, atau jika PGPORT tidak disetel, maka default ke nilai
didirikan selama kompilasi (biasanya 5432). Jika Anda menentukan port selain dari
port default, maka semua aplikasi klien harus menentukan port yang sama menggunakan keduanya
opsi baris perintah atau PGPORT.
-s
Cetak informasi waktu dan statistik lainnya di akhir setiap perintah. Ini berguna
untuk benchmarking atau untuk digunakan dalam menyetel jumlah buffer.
-S pekerjaan-mem
Menentukan jumlah memori yang akan digunakan oleh sortir internal dan hash sebelumnya
beralih ke file disk sementara. Lihat deskripsi pekerjaan_mem konfigurasi
parameter di Bagian 18.4.1, "Memori", dalam dokumentasi.
-V
--Versi: kapan
Cetak versi postgres dan keluar.
--nama=nilai
Menetapkan parameter run-time bernama; bentuk yang lebih pendek dari -c.
--jelaskan-config
Opsi ini membuang variabel konfigurasi internal server, deskripsi, dan
default di tab-delimited COPY format. Ini dirancang terutama untuk digunakan oleh
alat administrasi.
-?
--membantu
Tampilkan bantuan tentang argumen baris perintah postgres, dan keluar.
Semi-internal Opsi
Opsi yang dijelaskan di sini digunakan terutama untuk tujuan debugging, dan dalam beberapa kasus untuk
membantu pemulihan database yang rusak parah. Seharusnya tidak ada alasan untuk menggunakannya
dalam pengaturan basis data produksi. Mereka terdaftar di sini hanya untuk digunakan oleh sistem PostgreSQL
pengembang. Selanjutnya, opsi ini mungkin berubah atau dihapus di rilis mendatang
tanpa pemberitahuan.
-f { s | saya | o | b | t | n | saya | H }
Melarang penggunaan metode pemindaian dan penggabungan tertentu: s dan i menonaktifkan berurutan dan
pemindaian indeks masing-masing, o, b dan t menonaktifkan pemindaian hanya indeks, pemindaian indeks bitmap, dan
TID memindai masing-masing, sementara n, m, dan h menonaktifkan loop bersarang, penggabungan, dan hash bergabung
masing.
Pemindaian berurutan atau gabungan loop bersarang tidak dapat dinonaktifkan sepenuhnya; -fs dan
Opsi -fn hanya mencegah pengoptimal menggunakan jenis paket tersebut jika ada
alternatif lain.
-n
Opsi ini untuk masalah debugging yang menyebabkan proses server mati secara tidak normal.
Strategi biasa dalam situasi ini adalah memberi tahu semua proses server lain bahwa
mereka harus mengakhiri dan kemudian menginisialisasi ulang memori bersama dan semaphore. Ini
karena proses server yang salah dapat merusak beberapa status bersama sebelumnya
mengakhiri. Opsi ini menentukan bahwa postgres tidak akan menginisialisasi ulang data yang dibagikan
struktur. Pemrogram sistem yang berpengetahuan luas kemudian dapat menggunakan debugger untuk memeriksa
memori bersama dan status semaphore.
-O
Memungkinkan struktur tabel sistem untuk dimodifikasi. Ini digunakan oleh initdb.
-P
Abaikan indeks sistem saat membaca tabel sistem, tetapi tetap perbarui indeks saat
memodifikasi tabel. Ini berguna saat memulihkan dari indeks sistem yang rusak.
-t pa[rser] | pl[anner] | e[pelaksana]
Cetak statistik waktu untuk setiap kueri yang berkaitan dengan masing-masing modul sistem utama.
Opsi ini tidak dapat digunakan bersama dengan -s .
-T
Opsi ini untuk masalah debugging yang menyebabkan proses server mati secara tidak normal.
Strategi biasa dalam situasi ini adalah memberi tahu semua proses server lain bahwa
mereka harus mengakhiri dan kemudian menginisialisasi ulang memori bersama dan semaphore. Ini
karena proses server yang salah dapat merusak beberapa status bersama sebelumnya
mengakhiri. Opsi ini menentukan bahwa postgres akan menghentikan semua proses server lainnya
dengan mengirimkan sinyal SIGSTOP, tetapi tidak akan menyebabkannya berhenti. Ini izin
pemrogram sistem untuk mengumpulkan dump inti dari semua proses server dengan tangan.
-v protokol
Menentukan nomor versi protokol frontend/backend yang akan digunakan untuk a
sesi tertentu. Opsi ini hanya untuk penggunaan internal.
-W detik
Penundaan beberapa detik ini terjadi ketika proses server baru dimulai, setelah itu
melakukan prosedur otentikasi. Hal ini dimaksudkan untuk memberikan kesempatan kepada
melampirkan ke proses server dengan debugger.
Opsi untuk Pengguna Tunggal mode
Opsi berikut hanya berlaku untuk mode pengguna tunggal.
--Lajang
Memilih mode pengguna tunggal. Ini harus menjadi argumen pertama di baris perintah.
Database
Menentukan nama database yang akan diakses. Ini pasti argumen terakhir pada
baris perintah. Jika dihilangkan, defaultnya adalah nama pengguna.
-E
Gema semua perintah.
-j
Menonaktifkan penggunaan baris baru sebagai pembatas pernyataan.
-r nama file
Kirim semua keluaran log server ke nama file. Opsi ini hanya dihormati jika diberikan sebagai
opsi baris perintah.
LINGKUNGAN
PENGKODEAN PGCLIENT
Encoding karakter default yang digunakan oleh klien. (Klien dapat menimpa ini
satu per satu.) Nilai ini juga dapat diatur dalam file konfigurasi.
PGDATA
Lokasi direktori data default
GAYA PGDA
Nilai default parameter run-time DateStyle. (Penggunaan lingkungan ini
variabel tidak digunakan lagi.)
PGPORT
Nomor port default (sebaiknya diatur dalam file konfigurasi)
TZ
Zona waktu server
DIAGNOSTIK
Pesan kegagalan yang menyebutkan semget atau shmget mungkin menunjukkan bahwa Anda perlu mengkonfigurasi
kernel Anda untuk menyediakan memori bersama dan semaphore yang memadai. Untuk diskusi lebih lanjut lihat
Bagian 17.4, “Mengelola Sumber Daya Kernel”, dalam dokumentasi. Anda mungkin bisa
tunda konfigurasi ulang kernel Anda dengan mengurangi shared_buffers untuk mengurangi shared
konsumsi memori PostgreSQL, dan/atau dengan mengurangi max_connections untuk mengurangi
konsumsi semafor.
Pesan kegagalan yang menunjukkan bahwa server lain sudah berjalan harus diperiksa
hati-hati, misalnya dengan menggunakan perintah
$ ps ax | grep postgres
or
$ ps -ef | grep postgres
tergantung pada sistem Anda. Jika Anda yakin tidak ada server konflik yang berjalan, Anda
dapat menghapus file kunci yang disebutkan dalam pesan dan coba lagi.
Pesan kegagalan yang menunjukkan ketidakmampuan untuk mengikat ke port mungkin menunjukkan bahwa port tersebut
sudah digunakan oleh beberapa proses non-PostgreSQL. Anda mungkin juga mendapatkan kesalahan ini jika Anda
Selesai postgres dan segera restart menggunakan port yang sama; dalam hal ini, Anda harus
cukup tunggu beberapa detik hingga sistem operasi menutup port sebelum mencoba lagi.
Akhirnya, Anda mungkin mendapatkan kesalahan ini jika Anda menentukan nomor port yang sistem operasi Anda
dianggap sudah dipesan. Misalnya, banyak versi Unix mempertimbangkan nomor port di bawah
1024 untuk menjadi "tepercaya" dan hanya mengizinkan superuser Unix untuk mengaksesnya.
CATATAN
Perintah utilitas hal_ctl(1) dapat digunakan untuk memulai dan mematikan postgres Server
dengan aman dan nyaman.
Jika memungkinkan, do tidak gunakan SIGKILL untuk membunuh yang utama postgres server. Melakukannya akan
mencegah postgres dari membebaskan sumber daya sistem (misalnya, memori bersama dan semaphore)
yang dipegangnya sebelum diakhiri. Ini dapat menyebabkan masalah untuk memulai yang baru postgres
menjalankan.
Untuk mengakhiri postgres server biasanya, sinyal SIGTERM, SIGINT, atau SIGQUIT dapat
digunakan. Yang pertama akan menunggu semua klien berhenti sebelum berhenti, yang kedua akan
putuskan paksa semua klien, dan yang ketiga akan segera berhenti tanpa hak
shutdown, mengakibatkan pemulihan berjalan selama restart.
Sinyal SIGHUP akan memuat ulang file konfigurasi server. Bisa juga kirim
SIGHUP ke proses server individual, tetapi itu biasanya tidak masuk akal.
Untuk membatalkan kueri yang sedang berjalan, kirim sinyal SIGINT ke proses yang menjalankan perintah itu. Ke
hentikan proses backend dengan bersih, kirim SIGTERM ke proses itu. Lihat juga
pg_cancel_backend dan pg_terminate_backend di Bagian 9.26.2, “Pensinyalan Server
Functions”, dalam dokumentasi untuk ekuivalen SQL-callable dari dua tindakan ini.
postgres server menggunakan SIGQUIT untuk memberitahu proses server bawahan untuk menghentikan tanpa
pembersihan biasa. Sinyal ini harus tidak akan digunakan oleh pengguna. Juga tidak bijaksana untuk mengirim SIGKILL
ke proses server — yang utama postgres proses akan menafsirkan ini sebagai kerusakan dan akan
memaksa semua proses saudara untuk berhenti sebagai bagian dari prosedur pemulihan kerusakan standarnya.
Gunakan postgres online menggunakan layanan onworks.net