Jestem w środowisku korporacyjnym (z systemem Debian Linux) i sam go nie instalowałem. Dostęp do baz danych uzyskuję za pomocą Navicat lub phpPgAdmin (jeśli to pomaga). Nie mam również dostępu shellowego do serwera z bazą danych.
postgresql
Wysoce nieregularne
źródło
źródło
psql -c 'SELECT version();'
psql postgres -c 'SELECT version();'
sudo -u postgres psql postgres -c 'SELECT version()' | grep PostgreSQL
powinno sprawić, że przeszłość „rola„ nazwa użytkownika ”nie istnieje”.Wierzę, że tego właśnie szukasz
Wersja serwera:
Wersja klienta:
źródło
pg_config --version
może wprowadzać w błąd, np. jeśli uaktualnisz serwer Ubuntu i nie uruchomiszpg_upgradecluster
, pg_config wyświetli nową wersję zamiast tej, której nadal używasz.pg_config --version
Polecenie:psql --version
nie działa, skarży się na to:dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib Referenced from: /usr/local/bin/psql Reason: image not found
Za pomocą CLI:
Wersja serwera:
Jeśli masz więcej niż jedną instalację PostgreSQL lub otrzymujesz
postgres: command not found
błąd „ ”:Jeśli
locate
to nie pomoże, spróbujfind
:Chociaż
postmaster
można go również użyć zamiastpostgres
,postgres
preferowane jest używanie, ponieważpostmaster
jest to przestarzały aliaspostgres
.Wersja klienta:
W razie potrzeby zaloguj się jako
postgres
.Jeśli masz więcej niż jedną instalację PostgreSQL:
Za pomocą SQL:
Wersja serwera:
Jeśli bardziej ciekawy, spróbuj
=> SHOW all;
.Wersja klienta:
Za to, co jest warte, można wykonać polecenie powłoki,
psql
aby wyświetlić wersję klientapsql
pliku wykonywalnego na ścieżce. Zauważ, że biegpsql
może potencjalnie różnić się od tego na ścieżce.źródło
SHOW server_version;
Jest to bardzo przydatne w skryptach, aby uniknąć konieczności parsowania długiego ciąguSELECT version();
.psql postgres -c "SHOW server_version" -t -A
.-t
usuwa nagłówki,-A
usuwa białe znaki wyrównania.SHOW server_version_num
W szczególności dziękuję , co jest przydatne w przypadku nierówności.Jeśli używasz CLI i jesteś
postgres
użytkownikiem , możesz to zrobić:Możliwe wyjście :
źródło
Przyjęta odpowiedź jest świetna, ale jeśli potrzebujesz programowo wchodzić w interakcje z wersją PostgreSQL, może lepiej:
Zwróci wersję serwera jako liczbę całkowitą. W ten sposób testowana jest wersja serwera w źródle PostgreSQL , np .:
Więcej informacji tutaj i tutaj .
źródło
Wykonaj polecenie
Gdzie
V musi być w formie kapitału.
źródło
psql
wersja (kliencka), a nie wersja serwera Postgres .w shell psql.exe uruchom
źródło
Prostym sposobem jest sprawdzenie wersji poprzez wpisanie
psql --version
terminalaźródło
Używanie
pgadmin4
go można zobaczyć, klikając dwukrotnie opcję Serwery> nazwa_serwera> karta Właściwości> Wersja:Wersja 3.5:
Wersja 4.1, 4.5:
źródło
Komenda pg_config zgłosi katalog, w którym zainstalowane są programy PostgreSQL (--bindir), lokalizację plików włączeń C (--includedir) i bibliotek kodów obiektowych (--libdir) oraz wersję PostgreSQL (--version) :
źródło
W moim przypadku
Mam nadzieję, że to komuś pomoże
źródło
Jeśli masz dostęp shellowy do serwera (pytanie wspomina, że op nie ma, ale jeśli masz,) w systemie debian / ubuntu
który wyświetli zainstalowaną wersję,
gdzie
Installed: <version>
jest zainstalowaną wersją pakietu postgres.źródło
$ yum list
aby zobaczyć, że niektóre pakiety Postgresql zostały zainstalowane.użyj
VERSION
specjalnej zmiennejźródło
Nie wiem, na ile jest to wiarygodne, ale możesz uzyskać dwa tokeny wersji w pełni automatycznie:
Możesz więc budować ścieżki do plików binarnych:
Po prostu zamień 9.2 na to polecenie.
źródło
psql --version
zwraca wersjępsql
klienta, a nie wersję serwera PostgresDla bieżącej wersji PgAdmin: 4.16 w momencie pisania.
Zobacz zrzut ekranu poniżej:
źródło
Jeśli
Select version()
wraca z notatką, spróbuj użyć polecenia w ten sposób:lub
źródło
select version()::varchar(100);
pracował dla mnie, ale był taki sam jakversion()