আমি পোস্টগ্র্রেএসকিউএল এর কোন সংস্করণটি চালাচ্ছি?


1025

আমি কর্পোরেট পরিবেশে (দেবিয়ান লিনাক্স চালাচ্ছি) এবং এটি নিজে ইনস্টল করি নি didn't আমি নাভিট্যাট বা পিএইচপিপিজিএডমিন ব্যবহার করে ডেটাবেসগুলি অ্যাক্সেস করি (যদি এটি সাহায্য করে)। ডাটাবেস চালানো সার্ভারে আমার শেল অ্যাক্সেসও নেই।

উত্তর:


1644

পোস্টগ্রিজ এসকিউএল থেকে এই কোয়েরিটি চালান:

SELECT version();

4
উবুন্টুতে টার্মিনালে আমার ক্ষেত্রে কোনও ফলাফল নেই
টিমো

22
@ টিমো, এটি পোস্টগ্রিএসকিউএল এর মাধ্যমে চালানো একটি প্রশ্ন। এটি পিজিএডমিন বা কোয়েরি চালানোর জন্য অন্য কোনও ব্যবস্থার মাধ্যমে করা যেতে পারে। আপনি কি এটি উবুন্টু শেল থেকে চালানোর চেষ্টা করছেন? (এটি কার্যকর হবে না)
উচ্চ অনিয়মিত

41
এটি কমান্ড লাইন থেকেও চালানো যেতে পারেpsql -c 'SELECT version();'
অ্যারন লেলেভিয়ার

3
আপনি psql postgres -c 'SELECT version();'
নিম্নলিখিতটি

22
@ ফ্র্যাঙ্ক এইচ। ব্যবহার: sudo -u postgres psql postgres -c 'SELECT version()' | grep PostgreSQLআপনাকে অতীত "ভূমিকা 'ব্যবহারকারীর নাম' থাকা উচিত নয়" ব্যবহার করা উচিত।
মার্কাস জুনিয়াস ব্রুটাস

550

আমি বিশ্বাস করি এটিই আপনি খুঁজছেন,

সার্ভার সংস্করণ:

pg_config --version

ক্লায়েন্ট সংস্করণ:

psql --version

1
ধন্যবাদ! শেল অ্যাক্সেস পাওয়া গেলে এটি কাজ করে। দুর্ভাগ্যক্রমে আমার ক্ষেত্রে আমার এই অ্যাক্সেস নেই; আমি প্রশ্ন আপডেট করেছি।
উচ্চ অনিয়মিত

3
কখনও কখনও ক্লায়েন্ট সংস্করণ যা আপনি যাইহোক জানতে চান।
ট্রেজকাজ

12
ফ্র্যাঙ্ক নোট হিসাবে, এটি প্রতারণামূলক হতে পারে। পিএসকিএল যে কোনও পোস্টমাস্টার / পোস্টগ্রিস ডাটাবেস প্রক্রিয়া চলছে তার সাথে সংযুক্ত হবে এবং ডাটাবেস ইঞ্জিনটি পিএসএকিএল কমান্ডের মতো একই সংস্করণ নাও হতে পারে।
বেন রবার্টস

2
pg_config --versionবিভ্রান্তিমূলক হতে পারে, যেমন আপনি যদি উবুন্টু সার্ভার আপগ্রেড করেন এবং চালনা না pg_upgradeclusterকরেন তবে আপনি এখনও যেটি ব্যবহার করছেন তার পরিবর্তে পিজি_কনফিগ নতুন সংস্করণ দেখায়।
মারিউস গেডমিনাস

এটি 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
rld

217

সিএলআই ব্যবহার:

সার্ভার সংস্করণ:

$ 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

পোস্টগ্রিজ এসকিউএল এর একাধিক ইনস্টলেশন থাকলে, বা যদি 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

পোস্টগ্রিজ এসকিউএল এর একাধিক ইনস্টলেশন থাকলে:

$ 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এক্সিকিউটেবলের ক্লায়েন্ট সংস্করণটি দেখানো যেতে পারে within দ্রষ্টব্য যে চলমান psqlসম্ভাব্যভাবে পথের চেয়ে পৃথক হতে পারে।

=> \! psql -V
psql (PostgreSQL) 9.2.9

12
আপনাকে ধন্যবাদ !, SHOW server_version;এর দীর্ঘ স্ট্রিংটিতে পার্স করা এড়াতে স্ক্রিপ্টগুলিতে খুব সহজ SELECT version();
ভ্যাব

অনেক ধন্যবাদ. লোকেরা বুঝতে পারে না যে এসকিউএল কমান্ড দেওয়ার জন্য আপনাকে ডাটাবেসে সংযোগ করার জন্য কমপক্ষে একটি ভূমিকা জানতে হবে। তবে পোস্টগ্রাস-ভি এর সাথে আপনার সংস্করণটি জানার জন্য আপনাকে ডাটাবেসের সাথে সংযোগ স্থাপন করতে হবে না।
ychaouche

CLI এক লাইন সুপার-ইউজার এক্সেস অভিমানী: psql postgres -c "SHOW server_version" -t -A-tশিরোনামগুলি -Aসরায়, প্রান্তিককরণের সাদা স্থান সরিয়ে দেয়।
পকেটস্যান্ড

SHOW server_version_numবিশেষত আপনাকে ধন্যবাদ , যা অসমতার জন্য কার্যকর।
এএসওয়াল্ড

63

আপনি যদি 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)

37

গৃহীত উত্তরটি দুর্দান্ত, তবে আপনার যদি পোস্টগ্রিজএসকিউএল সংস্করণটির সাথে প্রোগ্রামগতভাবে ইন্টারঅ্যাক্ট করতে হয় তবে এটি করা ভাল:

SELECT current_setting('server_version_num'); -- Returns 90603 (9.6.3)
-- Or using SHOW command:
SHOW server_version_num; -- Returns 90603 too

এটি পূর্ণসংখ্যা হিসাবে সার্ভার সংস্করণটি ফিরিয়ে দেবে। পোস্টগ্র্রেএসকিউএল উত্সে সার্ভার সংস্করণটি এভাবে পরীক্ষা করা হয় , যেমন:

/*
 * 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...
     */  

এখানে এবং এখানে আরও তথ্য ।


36

কমান্ড কার্যকর করুন

psql -V

কোথায়

ভি অবশ্যই রাজধানীতে থাকতে হবে।


8
এটি psql(ক্লায়েন্ট) সংস্করণ, পোস্টগ্রিস সার্ভারের সংস্করণ নয়
a_horse_with_no_name

করতে সমালোচক যদি উত্তর ভুল করা হয়েছে কিন্তু কোনো উত্তর (মন্তব্য মত বোঝা), মুছে ফেলার সুপারিশ না: downvote! উদাহরণস্বরূপ দেখুন, " আপনি এটি ভুল করছেন: নিম্নমানের পোস্টের সারিতে স্যানিটি করার আবেদন " এবং " যখন কোনও উত্তর ভুল প্রশ্নের উত্তর দেয়, তখন এটি কি উত্তর নয়? "। এটি একটি উত্তর। আপনি এটির সাথে একমত হতে পারেন না, তবে এটি প্রশ্নের উত্তর দেওয়ার চেষ্টা।
ওয়াই হা লি


12

একটি সহজ উপায় psql --versionটার্মিনাল টাইপ করে সংস্করণ পরীক্ষা করা হয়


3
মনে রাখবেন এটি কেবল ক্লায়েন্টের সংস্করণই আপনাকে জানাবে, যা সম্ভবত সার্ভারের থেকে আলাদা হতে পারে। ক্যানোনিকাল উপায়ে @ সিংহমিলিকোর উত্তর দেখুন।
jst

12

pgadmin4এটি ব্যবহার করে সার্ভার> সার্ভার_নাম_এই> বৈশিষ্ট্য ট্যাব> সংস্করণ ডাবল ক্লিক করে দেখা যায়:

সংস্করণ 3.5:

pgadmin4 শো পোস্টগ্রিজ সংস্করণ।  সার্ভারস> সার্ভার_নাম> বৈশিষ্ট্য> সংস্করণ

সংস্করণ 4.1, 4.5:

এখানে চিত্র বর্ণনা লিখুন


দেখবেন না। Pgadmin 4 সংস্করণ ব্যবহার করে 4.1।
অবজ্ঞাত

1
@faintsignal pgadmin4 v4.1 এর জন্য স্ক্রিনশট যুক্ত করেছে, সেই সংস্করণটি খুব দ্রুত ঘটল।
জেমুনসচ

1
ওহ, আমার ভুল আমি ভেবেছিলাম আপনি সার্ভারে ডান ক্লিক করছেন, যা একটি ভিন্ন "সম্পত্তি" ডায়ালগের দিকে নিয়ে যায়। ধন্যবাদ!
17:32

9

Pg_config কমান্ড সেই ডিরেক্টরিটি পোস্ট করবে যেখানে পোস্টগ্রেএসকিউএল প্রোগ্রামগুলি ইনস্টল করা আছে (--bindir), সি এর অবস্থানটিতে ফাইল (--incusedir) এবং অবজেক্ট কোড লাইব্রেরি (--libdir), এবং পোস্টগ্রেএসকিউএল এর সংস্করণ (--version) রয়েছে :

$ pg_config --version
PostgreSQL 9.3.6

8

আমার ক্ষেত্রে

$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)

আশা করি এটি কারও সাহায্য করবে


4

আপনার যদি ডিবিয়ান / উবুন্টু সিস্টেমে সার্ভারে শেল অ্যাক্সেস থাকে (প্রশ্নটিতে অপের উল্লেখ নেই তবে আপনার ক্ষেত্রে রয়েছে)

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>ইনস্টলড পোস্টগ্রিস প্যাকেজ সংস্করণ।


1
অনুরূপ ধারণা হিসাবে, আমি দৌড়ে গিয়েছিলাম $ yum listযে কিছু নির্দিষ্ট পোস্টগ্র্যাস্কেল প্যাকেজ ইনস্টল করা আছে।
প্যাট্রিক

এটি ভাল কাজ করে। আপনি কী দয়া করে উবুন্টু 16.04
রাজ্জি


2

এটি কতটা নির্ভরযোগ্য তা জানেন না তবে আপনি দুটি টোকেন সংস্করণ পুরোপুরি স্বয়ংক্রিয়ভাবে পেতে পারেন:

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 --versionpsqlক্লায়েন্টের সংস্করণ ফিরিয়ে দেয় ,
পোস্টগ্রিস

1

লেখার সময় পিজিএডমিনের বর্তমান সংস্করণটির জন্য: 4.16।

  1. আপনার যে সংস্করণটির প্রয়োজন ডিবি নির্বাচন করুন।
  2. ডান ফলকে সম্পত্তি ট্যাবে ক্লিক করুন।

স্ক্রিনশটটি নীচে দেখুন: পিজিএডমিন 4.16 ডিবি সংস্করণ দেখাচ্ছে 10.10


0

যদি Select version()মেমো দিয়ে ফিরে আসে তবে কমান্ডটি এভাবে ব্যবহার করার চেষ্টা করুন:

Select version::char(100) 

অথবা

Select version::varchar(100)

2
select version()::varchar(100);যেমন আমার জন্য কাজ, কিন্তু একই ছিলversion()
isaaclw
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.