Saya berada di lingkungan perusahaan (menjalankan Debian Linux) dan tidak menginstalnya sendiri. Saya mengakses database menggunakan Navicat atau phpPgAdmin (jika itu membantu). Saya juga tidak memiliki akses shell ke server yang menjalankan database.
postgresql
Sangat Tidak Teratur
sumber
sumber
psql -c 'SELECT version();'
psql postgres -c 'SELECT version();'
sudo -u postgres psql postgres -c 'SELECT version()' | grep PostgreSQL
seharusnya membuat Anda melewati "peran 'nama pengguna' tidak ada".Saya percaya ini yang Anda cari,
Versi server:
Versi klien:
sumber
pg_config --version
bisa menyesatkan, misalnya jika Anda memutakhirkan server Ubuntu dan tidak menjalankanpg_upgradecluster
, pg_config akan menampilkan versi baru dan bukan versi yang masih Anda gunakan.pg_config --version
Perintah:psql --version
tidak bekerja, mengeluh untuk ini:dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib Referenced from: /usr/local/bin/psql Reason: image not found
Menggunakan CLI:
Versi server:
Jika memiliki lebih dari satu instalasi PostgreSQL, atau jika mendapat "
postgres: command not found
" kesalahan:Jika
locate
tidak membantu, cobafind
:Meskipun
postmaster
dapat juga digunakan sebagai penggantipostgres
, penggunaanpostgres
lebih disukai karenapostmaster
alias yang sudah tidak digunakanpostgres
.Versi klien:
Sebagai relevan, login sebagai
postgres
.Jika memiliki lebih dari satu instalasi PostgreSQL:
Menggunakan SQL:
Versi server:
Jika lebih penasaran, coba
=> SHOW all;
.Versi klien:
Untuk apa nilainya, perintah shell dapat dijalankan di dalam
psql
untuk menunjukkan versi klien daripsql
executable di path. Perhatikan bahwa menjalankanpsql
berpotensi berbeda dari yang ada di jalur.sumber
SHOW server_version;
script ini sangat berguna untuk menghindari keharusan mengurai dalam string panjangSELECT version();
.psql postgres -c "SHOW server_version" -t -A
.-t
menghapus header,-A
menghapus spasi keselarasan.SHOW server_version_num
khususnya, yang berguna untuk ketidaksetaraan.Jika Anda menggunakan CLI dan Anda adalah
postgres
pengguna , maka Anda dapat melakukan ini:Output yang mungkin :
sumber
Jawaban yang diterima sangat bagus, tetapi jika Anda perlu berinteraksi secara terprogram dengan versi PostgreSQL mungkin lebih baik melakukannya:
Ini akan mengembalikan versi server sebagai integer. Ini adalah bagaimana versi server diuji dalam sumber PostgreSQL , misalnya:
Info lebih lanjut di sini dan di sini .
sumber
Jalankan perintah
Dimana
V harus dalam modal.
sumber
psql
(klien), bukan versi server Postgres .di shell psql.exe, jalankan
sumber
Cara sederhana adalah memeriksa versi dengan mengetik
psql --version
terminalsumber
Menggunakannya
pgadmin4
dapat dilihat dengan mengklik dua kali Server> server_name_here> tab Properti> Versi:Versi 3.5:
Versi 4.1, 4.5:
sumber
Perintah pg_config akan melaporkan direktori tempat program PostgreSQL diinstal (--bindir), lokasi C menyertakan file (--includedir) dan perpustakaan kode objek (--libdir), dan versi PostgreSQL (--version) :
sumber
Dalam hal ini
Semoga ini bisa membantu seseorang
sumber
Jika Anda memiliki akses shell ke server (pertanyaannya menyebutkan op tidak memiliki, tetapi jika Anda punya,) pada sistem debian / ubuntu
yang akan menampilkan versi yang diinstal,
di mana
Installed: <version>
adalah versi paket postgres yang diinstal.sumber
$ yum list
untuk melihat bahwa paket Postgresql tertentu diinstal.gunakan
VERSION
variabel khusussumber
Tidak tahu seberapa andal ini, tetapi Anda bisa mendapatkan dua token versi sepenuhnya secara otomatis:
Jadi Anda bisa membangun path ke binari:
Ganti 9.2 dengan perintah ini.
sumber
psql --version
mengembalikan versipsql
klien, bukan versi server PostgresUntuk versi PgAdmin saat ini: 4,16 pada saat penulisan.
Lihat tangkapan layar di bawah ini:
sumber
Jika
Select version()
kembali dengan Memo coba gunakan perintah dengan cara ini:atau
sumber
select version()::varchar(100);
bekerja untuk saya, tetapi sama denganversion()