Я нахожусь в корпоративной среде (использую Debian Linux) и не установил его сам. Я получаю доступ к базам данных с помощью Navicat или phpPgAdmin (если это помогает). У меня также нет доступа к серверу, на котором работает база данных.
postgresql
Очень нерегулярный
источник
источник
psql -c 'SELECT version();'
psql postgres -c 'SELECT version();'
sudo -u postgres psql postgres -c 'SELECT version()' | grep PostgreSQL
должно пройти мимо вас "роль" имя пользователя "не существует".Я считаю, что это то, что вы ищете,
Версия сервера:
Версия клиента:
источник
pg_config --version
может вводить в заблуждение, например, если выpg_upgradecluster
обновляете сервер Ubuntu и не запускаете , 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
Используя CLI:
Версия сервера:
Если у вас есть более одной установки PostgreSQL, или если появляется
postgres: command not found
ошибка " ":Если
locate
не поможет, попробуйтеfind
:Хотя
postmaster
также может использоваться вместоpostgres
, использованиеpostgres
предпочтительнее, посколькуpostmaster
является устаревшим псевдонимомpostgres
.Версия клиента:
Актуально, войдите как
postgres
.Если у вас более одной установки PostgreSQL:
Используя SQL:
Версия сервера:
Если любопытнее, попробуйте
=> SHOW all;
.Версия клиента:
Для этого стоит выполнить команду оболочки,
psql
чтобы показать клиентскую версиюpsql
исполняемого файла в пути. Обратите внимание, что выполнениеpsql
может потенциально отличаться от того, что в пути.источник
SHOW server_version;
Это очень удобно в скриптах, чтобы избежать разбора длинной строкиSELECT version();
.psql postgres -c "SHOW server_version" -t -A
.-t
удаляет заголовки,-A
удаляет пробелы выравнивания.SHOW server_version_num
в частности, что удобно для неравенства.Если вы используете CLI и являетесь
postgres
пользователем , вы можете сделать это:Возможный вывод :
источник
Принятый ответ хорош, но если вам нужно программно взаимодействовать с версией PostgreSQL, возможно, лучше сделать это:
Вернет версию сервера в виде целого числа. Вот как тестируется версия сервера в исходном коде PostgreSQL , например:
Больше информации здесь и здесь .
источник
Выполнить команду
куда
V должно быть в столице.
источник
psql
(клиентская) версия, а не версия сервера Postgres .в оболочке psql.exe выполните
источник
Простой способ - проверить версию, набрав
psql --version
в терминалеисточник
Используя
pgadmin4
его можно увидеть с помощью двойного щелчка Серверы> server_name_here> вкладка Свойства> Версия:Версия 3.5:
Версия 4.1, 4.5:
источник
Команда pg_config сообщит о каталоге, в котором установлены программы PostgreSQL (--bindir), о расположении включаемых файлов C (--includedir) и библиотек объектного кода (--libdir), а также о версии PostgreSQL (--version) :
источник
В моем случае
Надеюсь, это поможет кому-то
источник
Если у вас есть доступ к серверу через оболочку (вопрос упоминает, что op не имеет, но в случае, если у вас есть) в системе Debian / Ubuntu
который выведет установленную версию,
где
Installed: <version>
- установленная версия пакета postgres.источник
$ yum list
чтобы увидеть, что были установлены определенные пакеты Postgresql.использовать
VERSION
специальную переменнуюисточник
Не знаю, насколько это надежно, но вы можете получить два токена версии полностью автоматически:
Таким образом, вы можете построить пути к двоичным файлам:
Просто замените 9.2 этой командой.
источник
psql --version
возвращает версиюpsql
клиента, а не версию сервера PostgresДля текущей версии PgAdmin: 4.16 на момент написания.
Смотрите скриншот ниже:
источник
Если
Select version()
возвращается с Memo, попробуйте использовать команду следующим образом:или
источник
select version()::varchar(100);
работал для меня, но был таким же, какversion()