मैं एक कॉर्पोरेट वातावरण में हूं (डेबियन लिनक्स चला रहा हूं) और इसे स्वयं स्थापित नहीं किया। मैं Navicat या phpPgAdmin (यदि वह मदद करता है) का उपयोग कर डेटाबेस तक पहुँचता है। मेरे पास डेटाबेस चलाने वाले सर्वर तक शेल का उपयोग नहीं है।
मैं एक कॉर्पोरेट वातावरण में हूं (डेबियन लिनक्स चला रहा हूं) और इसे स्वयं स्थापित नहीं किया। मैं Navicat या phpPgAdmin (यदि वह मदद करता है) का उपयोग कर डेटाबेस तक पहुँचता है। मेरे पास डेटाबेस चलाने वाले सर्वर तक शेल का उपयोग नहीं है।
जवाबों:
PostgreSQL से यह क्वेरी चलाएँ:
SELECT version();
psql -c 'SELECT version();'
psql postgres -c 'SELECT version();'
sudo -u postgres psql postgres -c 'SELECT version()' | grep PostgreSQL
आपको "भूमिका 'उपयोगकर्ता नाम मौजूद नहीं होना चाहिए"।
मेरा मानना है कि यह वही है जिसे आप ढूंढ रहे हैं,
सर्वर संस्करण:
pg_config --version
ग्राहक संस्करण:
psql --version
pg_config --version
भ्रामक हो सकता है, जैसे यदि आप एक उबंटू सर्वर को अपग्रेड करते हैं और नहीं चलाते हैं pg_upgradecluster
, तो pg_config आपके द्वारा उपयोग किए जा रहे एक के बजाय नया संस्करण दिखाएगा।
pg_config --version
आदेश: psql --version
, नहीं काम करता है इस बात के लिए शिकायत: dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib Referenced from: /usr/local/bin/psql Reason: image not found
$ postgres -V # Or --version. Use "locate bin/postgres" if not found.
postgres (PostgreSQL) 9.6.1
$ postgres -V | awk '{print $NF}' # Last column is version.
9.6.1
$ postgres -V | egrep -o '[0-9]{1,}\.[0-9]{1,}' # Major.Minor version
9.6
यदि PostgreSQL की एक से अधिक स्थापना हो रही है, या यदि " postgres: command not found
" त्रुटि हो रही है :
$ locate bin/postgres | xargs -i xargs -t '{}' -V # xargs is intentionally twice.
/usr/pgsql-9.3/bin/postgres -V
postgres (PostgreSQL) 9.3.5
/usr/pgsql-9.6/bin/postgres -V
postgres (PostgreSQL) 9.6.1
यदि locate
मदद नहीं करता है, तो कोशिश करें find
:
$ sudo find / -wholename '*/bin/postgres' 2>&- | xargs -i xargs -t '{}' -V # xargs is intentionally twice.
/usr/pgsql-9.6/bin/postgres -V
postgres (PostgreSQL) 9.6.1
यद्यपि postmaster
इसके बजाय इसका उपयोग भी किया जा सकता है postgres
, का उपयोग postgres
करना बेहतर होता postmaster
है क्योंकि इसका एक अलग-अलग उपनाम है postgres
।
प्रासंगिक के रूप में, लॉगिन करेंpostgres
।
$ psql -V # Or --version
psql (PostgreSQL) 9.6.1
यदि PostgreSQL की एक से अधिक स्थापना हो रही है:
$ locate bin/psql | xargs -i xargs -t '{}' -V # xargs is intentionally twice.
/usr/bin/psql -V
psql (PostgreSQL) 9.3.5
/usr/pgsql-9.2/bin/psql -V
psql (PostgreSQL) 9.2.9
/usr/pgsql-9.3/bin/psql -V
psql (PostgreSQL) 9.3.5
=> SELECT version();
version
--------------------------------------------------------------------------------------------------------------
PostgreSQL 9.2.9 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4), 64-bit
=> SHOW server_version;
server_version
----------------
9.2.9
=> SHOW server_version_num;
server_version_num
--------------------
90209
यदि अधिक उत्सुक हैं, तो प्रयास करें => SHOW all;
।
इसके लायक क्या है, पथ में निष्पादन योग्य psql
का क्लाइंट संस्करण दिखाने के लिए एक शेल कमांड निष्पादित किया जा सकता psql
है। ध्यान दें कि रनिंग psql
संभवतः पथ के एक से भिन्न हो सकती है।
=> \! psql -V
psql (PostgreSQL) 9.2.9
SHOW server_version;
लंबे स्ट्रिंग में पार्स करने से बचने के लिए स्क्रिप्ट में बहुत आसान है SELECT version();
।
psql postgres -c "SHOW server_version" -t -A
:। -t
हेडर निकालता है, -A
अलाइनमेंट व्हाट्सएप हटाता है।
SHOW server_version_num
विशेष रूप से, असमानताओं के लिए काम करने के लिए धन्यवाद ।
यदि आप CLI का उपयोग कर रहे हैं और आप एक postgres
उपयोगकर्ता हैं , तो आप यह कर सकते हैं:
psql -c "SELECT version();"
संभव उत्पादन :
version
-------------------------------------------------------------------------------------------------------------------------
PostgreSQL 11.1 (Debian 11.1-3.pgdg80+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 4.9.2-10+deb8u2) 4.9.2, 64-bit
(1 row)
स्वीकृत उत्तर बहुत अच्छा है, लेकिन अगर आपको PostgreSQL संस्करण के साथ प्रोग्रामेटिक रूप से बातचीत करने की आवश्यकता है, तो शायद यह करना बेहतर है:
SELECT current_setting('server_version_num'); -- Returns 90603 (9.6.3)
-- Or using SHOW command:
SHOW server_version_num; -- Returns 90603 too
यह पूर्णांक के रूप में सर्वर संस्करण लौटाएगा। यह कैसे सर्वर संस्करण PostgreSQL स्रोत में परीक्षण किया जाता है , उदाहरण के लिए:
/*
* This is a C code from pg_dump source.
* It will do something if PostgreSQL remote version (server) is lower than 9.1.0
*/
if (fout->remoteVersion < 90100)
/*
* Do something...
*/
आदेश निष्पादित करें
psql -V
कहाँ पे
V राजधानी में होना चाहिए।
psql
क्लाइंट (क्लाइंट) संस्करण है, पोस्टग्रेज सर्वर का संस्करण नहीं ।
खोल psql.exe में, निष्पादित करें
\! psql -V
एक सरल तरीका psql --version
टर्मिनल में टाइप करके संस्करण की जांच करना है
pgadmin4
इसका उपयोग करके डबल क्लिक करके देखा जा सकता है सर्वर> सर्वर_ नाम_का> गुण टैब> संस्करण:
संस्करण 3.5:
संस्करण ४.१, ४.५:
मेरे मामले में
$psql
postgres=# \g
postgres=# SELECT version();
version
---------------------------------------------------------------------------------------------------------------------
PostgreSQL 8.4.21 on x86_64-pc-linux-gnu, compiled by GCC gcc-4.6.real (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3, 64-bit
(1 row)
आशा है कि यह किसी की मदद करेगा
यदि आपके पास सर्वर तक पहुंच है (प्रश्न में सेशन का उल्लेख नहीं है, लेकिन मामले में आपके पास है), डेबियन / ubuntu सिस्टम पर
sudo apt-cache policy postgresql
जो स्थापित संस्करण का उत्पादन करेगा,
postgresql:
Installed: 9.6+184ubuntu1.1
Candidate: 9.6+184ubuntu1.1
Version table:
*** 9.6+184ubuntu1.1 500
500 http://in.archive.ubuntu.com/ubuntu artful-updates/main amd64 Packages
500 http://in.archive.ubuntu.com/ubuntu artful-updates/main i386 Packages
500 http://security.ubuntu.com/ubuntu artful-security/main amd64 Packages
500 http://security.ubuntu.com/ubuntu artful-security/main i386 Packages
100 /var/lib/dpkg/status
9.6+184ubuntu1 500
500 http://in.archive.ubuntu.com/ubuntu artful/main amd64 Packages
500 http://in.archive.ubuntu.com/ubuntu artful/main i386 Packages
जहां Installed: <version>
स्थापित पोस्टग्रेज पैकेज संस्करण है।
$ yum list
यह देखने के लिए दौड़ा कि कुछ पोस्टग्रैसकल पैकेज स्थापित किए गए थे।
VERSION
विशेष चर का उपयोग करें
$psql -c "\echo :VERSION"
पता नहीं यह कितना विश्वसनीय है, लेकिन आप संस्करण के दो टोकन पूरी तरह से स्वचालित रूप से प्राप्त कर सकते हैं:
psql --version 2>&1 | tail -1 | awk '{print $3}' | sed 's/\./ /g' | awk '{print $1 "." $2}'
तो आप बायनेरिज़ के लिए पथ बना सकते हैं:
/usr/lib/postgresql/9.2/bin/postgres
इस आदेश के साथ बस 9.2 बदलें।
psql --version
psql
क्लाइंट का संस्करण लौटाता है , पोस्टग्रेज सर्वर का संस्करण नहीं
PgAdmin के वर्तमान संस्करण के लिए: लेखन के समय 4.16।