Tôi đang ở trong môi trường doanh nghiệp (chạy Debian Linux) và không tự cài đặt nó. Tôi truy cập cơ sở dữ liệu bằng Navicat hoặc phpPgAdmin (nếu điều đó có ích). Tôi cũng không có quyền truy cập shell vào máy chủ đang chạy cơ sở dữ liệu.
Tôi đang ở trong môi trường doanh nghiệp (chạy Debian Linux) và không tự cài đặt nó. Tôi truy cập cơ sở dữ liệu bằng Navicat hoặc phpPgAdmin (nếu điều đó có ích). Tôi cũng không có quyền truy cập shell vào máy chủ đang chạy cơ sở dữ liệu.
Câu trả lời:
Chạy truy vấn này từ PostgreSQL:
SELECT version();
psql -c 'SELECT version();'
psql postgres -c 'SELECT version();'
sudo -u postgres psql postgres -c 'SELECT version()' | grep PostgreSQL
sẽ giúp bạn vượt qua "vai trò 'tên người dùng' không tồn tại".
Tôi tin rằng đây là những gì bạn đang tìm kiếm,
Phiên bản máy chủ:
pg_config --version
Phiên bản máy khách:
psql --version
pg_config --version
có thể gây hiểu lầm, ví dụ: nếu bạn nâng cấp máy chủ Ubuntu và không chạy pg_upgradecluster
, pg_config sẽ hiển thị phiên bản mới thay vì phiên bản bạn vẫn đang sử dụng.
pg_config --version
Lệnh: psql --version
không hoạt động, phàn nàn về điều này: 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
Nếu có nhiều hơn một lần cài đặt PostgreSQL hoặc nếu gặp postgres: command not found
lỗi "":
$ 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
Nếu locate
không giúp được, hãy thử 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
Mặc dù postmaster
cũng có thể được sử dụng thay vì postgres
, sử dụng postgres
là tốt hơn vì postmaster
là bí danh không dùng nữa postgres
.
Khi có liên quan, đăng nhập nhưpostgres
.
$ psql -V # Or --version
psql (PostgreSQL) 9.6.1
Nếu có nhiều hơn một lần cài đặt 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
Nếu tò mò hơn, hãy thử => SHOW all;
.
Đối với giá trị của nó, một lệnh shell có thể được thực thi bên trong psql
để hiển thị phiên bản máy khách của psql
tệp thực thi trong đường dẫn. Lưu ý rằng việc chạy psql
có thể có khả năng khác với chạy trong đường dẫn.
=> \! psql -V
psql (PostgreSQL) 9.2.9
SHOW server_version;
Rất tiện dụng trong các kịch bản để tránh phải phân tích cú pháp trong chuỗi dài SELECT version();
.
psql postgres -c "SHOW server_version" -t -A
. -t
loại bỏ các tiêu đề, -A
loại bỏ khoảng trắng căn chỉnh.
SHOW server_version_num
đặc biệt, rất hữu ích cho sự bất bình đẳng.
Nếu bạn đang sử dụng CLI và bạn là postgres
người dùng , thì bạn có thể làm điều này:
psql -c "SELECT version();"
Sản lượng
có thể :
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)
Câu trả lời được chấp nhận là rất tốt, nhưng nếu bạn cần tương tác theo chương trình với phiên bản PostgreSQL thì có lẽ tốt hơn nên làm:
SELECT current_setting('server_version_num'); -- Returns 90603 (9.6.3)
-- Or using SHOW command:
SHOW server_version_num; -- Returns 90603 too
Nó sẽ trả về phiên bản máy chủ dưới dạng một số nguyên. Đây là cách phiên bản máy chủ được kiểm tra trong nguồn PostgreSQL , ví dụ:
/*
* 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...
*/
Thực thi lệnh
psql -V
Ở đâu
V phải có vốn.
psql
phiên bản (máy khách), không phải phiên bản của máy chủ Postgres .
trong shell psql.exe, thực thi
\! psql -V
Sử dụng pgadmin4
nó có thể được nhìn thấy bằng cách nhấp đúp vào Máy chủ> server_name_here> tab Thuộc tính> Phiên bản:
Phiên bản 3.5:
Phiên bản 4.1, 4.5:
Trong trường hợp của tôi
$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)
Hy vọng nó sẽ giúp được ai đó
Nếu bạn có quyền truy cập shell vào máy chủ (câu hỏi đề cập op không có, nhưng trong trường hợp bạn có,) trên hệ thống debian / ub Ubuntu
sudo apt-cache policy postgresql
Phiên bản nào sẽ xuất ra
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
trong đó Installed: <version>
phiên bản gói postgres được cài đặt.
$ yum list
để xem một số gói Postgresql đã được cài đặt.
Không biết mức độ tin cậy của nó, nhưng bạn có thể nhận được hai mã thông báo phiên bản hoàn toàn tự động:
psql --version 2>&1 | tail -1 | awk '{print $3}' | sed 's/\./ /g' | awk '{print $1 "." $2}'
Vì vậy, bạn có thể xây dựng đường dẫn đến nhị phân:
/usr/lib/postgresql/9.2/bin/postgres
Chỉ cần thay thế 9.2 bằng lệnh này.
psql --version
trả về phiên bản của psql
máy khách, không phải phiên bản của máy chủ Postgres
Đối với phiên bản hiện tại của PGAdmin: 4.16 tại thời điểm viết.