Как узнать версию postgresql для Linux

Обновлено: 30.06.2024

PostgreSQL, часто называемая просто Postgres, представляет собой систему управления объектно-реляционными базами данных общего назначения с открытым исходным кодом.

В некоторых ситуациях может быть важно знать, какая версия сервера PostgreSQL установлена ​​и работает в вашей системе. Например, если вы устанавливаете приложение, для которого требуется определенная версия PostgreSQL, вам необходимо узнать версию вашего сервера PostgreSQL.

В этой статье мы объясним, как узнать, какая версия сервера PostgreSQL работает в вашей системе.

Выпуски PostgreSQL версионируются по следующей схеме:

Например, в PostgreSQL 12.1 12 — это основная версия, а 1 — дополнительная версия.

MAJOR. Начиная с PostgreSQL 10, каждый новый основной выпуск увеличивает ОСНОВНУЮ часть версии на единицу, например, 10, 11 или 12. До PostgreSQL 10 основные версии представлялись десятичным числом, например, 9.0 или 9.6.

MINOR – дополнительный номер версии — это последняя часть номера версии. Например, 11.4 и 11.6 — это дополнительные версии, которые являются частью PostgreSQL версии 11, а 9.6.15 и 9.6.16 — частью PostgreSQL версии 9.6.

Основные выпуски PostgreSQL с новыми функциями обычно выпускаются раз в год. Каждый основной выпуск поддерживается в течение 5 лет.

Чтобы узнать, какая версия PostgreSQL работает в вашей системе, вызовите команду postgres с параметром --version или -V:

Команда напечатает версию PostgreSQL:

В этом примере используется версия сервера PostgreSQL 10.6 .

Если двоичный файл postgres отсутствует в системном PATH , вы получите сообщение об ошибке «postgres: команда не найдена». Обычно это происходит, когда пакет PostgreSQL установлен не из стандартных репозиториев дистрибутива.

Вы можете найти путь к двоичному файлу с помощью команды locate или find:

Вывод должен выглядеть примерно так:

Как только вы найдете путь к двоичному файлу, вы можете использовать его для получения версии сервера PostgreSQL:

Версию клиентской утилиты PostgreSQL psql можно узнать с помощью следующей команды:

Вывод будет выглядеть примерно так:

psql — это интерактивная утилита командной строки, позволяющая взаимодействовать с сервером PostgreSQL.

Еще один способ определить версию сервера PostgreSQL — войти в систему с приглашением SQL сервера и использовать оператор SQL для вывода версии.

Вы можете получить доступ к оболочке PostgreSQL с помощью клиента с графическим интерфейсом, такого как pgAdmin, или с помощью psql:

Следующий оператор отображает версию сервера PostgreSQL вместе с информацией о сборке:

Если вы хотите получить только номер версии сервера PostgreSQL, используйте следующий запрос:

В этой статье мы показали несколько различных вариантов того, как найти версию сервера PostgreSQL, работающую в вашей системе.

Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы.

Ezoic

сообщить об этом объявлении

Ezoic

сообщить об этом объявлении

Новые версии PostgreSQL выпускаются через регулярные промежутки времени. Основные выпуски планируются ежегодно и сосредоточены на улучшении ключевых функций и исправлении известных ошибок. Второстепенные выпуски выпускаются примерно каждые три месяца и направлены на решение текущих проблем безопасности.

Возможно, вы захотите проверить, установлено ли у вас последнее исправление для системы безопасности или новое программное обеспечение, которое вы хотите внедрить, совместимо с вашей версией PostgreSQL.

В этом руководстве показано, как проверить версию PostgreSQL с помощью нескольких коротких команд.

 Заголовок с логотипом PostgreSQL и символом версии.

Примечание. Рассматривали ли вы возможность установки SQL Workbench для Postgres? Это отличный инструмент для управления различными системами баз данных.

  • Доступ к окну терминала/командной строке
  • Сервер базы данных PostgreSQL

Проверить версию PostgreSQL из командной строки

Войдите в свой терминал и введите следующую команду, чтобы проверить версию PostgreSQL:

Номер версии отображается в окне терминала. Другой способ проверить версию PostgreSQL — использовать параметр -V:

Эти две команды работают с установками, инициированными из официальных репозиториев. Они могут быть неприменимы для установок из сторонних источников. Вместо этого вы можете получить сообщение "Команда postgres не найдена".

Как устранить ошибку «Команда postgres не найдена»

Чтобы решить проблему «Команда postgres не найдена», найдите папку с двоичными файлами PostgreSQL.Введите следующую команду, чтобы найти правильный путь postgres:

Путь к вашей двоичной папке теперь отображается в вашем терминале.

Путь к двоичную папку postgres с помощью команды locate». ширина=

Введите полный путь и добавьте параметр -V, чтобы отобразить текущую версию сервера PostgreSQL:

В этом примере номер версии Postgres — 10.12.

 Номер версии postgres указан в терминале.

Группа разработчиков PostgreSQL использует стандартную семантическую систему управления версиями MAJOR.MINOR. В нашем примере первый раздел (10) означает ОСНОВНОЙ номер выпуска. Вторая часть (12) представляет собой МНОЖЕСТВЕННЫЙ номер выпуска основной версии.

Примечание. Всегда обновляйте PostgreSQL до последней доступной дополнительной версии, соответствующей установленной основной версии.

Проверить версию Postgres из SQL Shell

Номер версии также можно получить непосредственно из командной строки PostgreSQL. Откройте приглашение оболочки PostgreSQL, введя следующую команду:

Введите следующую инструкцию SQL в приглашении, чтобы проверить текущую версию:

Результирующий вывод содержит полную информацию о версии и системе для сервера PostgreSQL.

Местоположение версии PostgreSQL, найденной в оболочке Postgres». ширина=

Вы также можете указать PostgreSQL отображать значение, связанное с параметром server_version:

В результате отображается текущее значение для server_version.

 Версия PostgreSQL с оператором SHOW server_version». ширина=

Как проверить версию клиента psql

Psql функционирует как интерфейсный терминал для PostgreSQL. Он используется для отправки запросов и отображения предоставленных результатов.

Для определения версии клиентской утилиты psql можно использовать следующую команду:

Вы заметите, что команды, используемые для проверки версии клиента psql, совпадают с командами, используемыми для определения версии сервера PostgreSQL. Параметр -V работает и в этом случае:

Версия psql представлена ​​в терминале.

Версия Pslq отображается с помощью команды psql -V.

В этом случае также может появиться ошибка "Команда не найдена". В этом случае введите следующую команду, чтобы найти правильный путь к утилите psql:

В выходных данных указан полный путь к утилите psql.

 Полный путь к бинарной папке утилиты psql,

Используйте полученный путь и параметр -V, чтобы проверить текущую версию psql:

В результате вы увидите текущую версию клиента psql в вашей системе.

 Версия Psql, использующая полный двоичный путь.

Примечание. Если вам нужны дополнительные руководства по PostgreSQL, обязательно ознакомьтесь с ними:

Предоставленные команды и операторы SQL являются наиболее эффективным способом определения номера версии PostgreSQL. Используйте их для проверки текущей версии сервера баз данных PostgreSQL или клиентской утилиты psql.

Убедитесь, что ваши системы всегда обновлены до последней доступной версии.

Владимир является постоянным техническим писателем в phoenixNAP. Он имеет более чем 7-летний опыт внедрения решений для электронной коммерции и онлайн-платежей с различными глобальными поставщиками ИТ-услуг. Его статьи призваны привить другим страсть к инновационным технологиям, давая практические советы и используя увлекательный стиль письма.

Узнайте, как экспортировать таблицу PostgreSQL в файл .csv. Эта функция особенно полезна при переносе.

PostgreSQL — это система управления реляционными базами данных с открытым исходным кодом. Есть два простых способа установки.

Изучите различия между двумя наиболее широко используемыми системами управления базами данных. PostgreSQL и MySQL.

PostgreSQL — это система управления реляционными базами данных с открытым исходным кодом.В этом руководстве вы узнаете, как подключиться.

Я работаю в корпоративной среде (под управлением Debian Linux) и не устанавливал его самостоятельно. Я получаю доступ к базам данных с помощью Navicat или phpPgAdmin (если это помогает). У меня также нет доступа к серверу, на котором работает база данных.



20 ответов 20

Выполните этот запрос из PostgreSQL:


@Timo, это запрос, который нужно выполнить через PostgreSQL. Это можно сделать с помощью pgAdmin или любого другого механизма для выполнения запроса. Вы пытались запустить его из оболочки Ubuntu? (это не сработает)

Вы можете запустить прямо из bash, указав базу данных postgres следующим образом: psql postgres -c 'SELECT version();'

@Frank H. Использование: sudo -u postgres psql postgres -c 'SELECT version()' | grep PostgreSQL должен помочь вам преодолеть «роль« имя пользователя »не существует».

Я думаю, это то, что вы ищете,

Спасибо! Это работает, когда доступен доступ к оболочке. К сожалению, в моем случае у меня нет такого доступа; Я обновил вопрос.

Как отмечает Фрэнк, это может быть обманчивым. psql будет подключаться к любому запущенному процессу базы данных postmaster/postgres, и версия ядра базы данных может отличаться от версии команды psql.

pg_config --version может вводить в заблуждение, например если вы обновите сервер Ubuntu и не запустите pg_upgradecluster , pg_config покажет новую версию вместо той, которую вы все еще используете.

У меня работает только это: pg_config --version Команда: psql --version не работает, жалуется на это: dyld: Библиотека не загружена: /usr/local/opt/readline/lib/libreadline.7.dylib Ссылка из: /usr/local/bin/psql Причина: изображение не найдено

Версия сервера:

При наличии более одной установки PostgreSQL или при получении ошибки " postgres: команда не найдена ":

Если поиск не помогает, попробуйте найти :

Хотя postmaster также можно использовать вместо postgres , использование postgres предпочтительнее, поскольку postmaster является устаревшим псевдонимом postgres .

Версия клиента:

При наличии более одной установки PostgreSQL:

Версия сервера:

Если любопытно, попробуйте => ПОКАЗАТЬ все; .

Версия клиента:

Что бы это ни стоило, команда оболочки может быть выполнена в psql, чтобы показать клиентскую версию исполняемого файла psql в пути. Обратите внимание, что запущенный psql потенциально может отличаться от указанного в пути.


Спасибо!, SHOW server_version; очень удобен в сценариях, чтобы избежать разбора длинной строки SELECT version(); .

Большое спасибо. Люди не понимают, что для выдачи команд SQL нужно знать хотя бы одну роль для подключения к базе данных. Но с postgres -V вам не нужно знать, как подключиться к базе данных, чтобы узнать ее версию.

Одна строка в интерфейсе командной строки, предполагающая доступ суперпользователя: psql postgres -c "SHOW server_version" -t -A . -t удаляет заголовки, -A удаляет пробелы выравнивания.

Если вы используете CLI и являетесь пользователем postgres, вы можете сделать следующее:


Принятый ответ отличный, но если вам нужно программно взаимодействовать с версией PostgreSQL, возможно, лучше сделать это:

Он вернет версию сервера в виде целого числа. Вот как проверяется версия сервера в исходном коде PostgreSQL, например:

V должен быть заглавным.


Рецензентам: если ответ неправильный, но является ответом (как следует из комментария), не рекомендуйте удалять: голосуйте против! См., например, «Вы делаете это неправильно: призыв к здравомыслию в очереди сообщений низкого качества» и «Когда ответ отвечает на неправильный вопрос, это не ответ?». Это ответ. Вы можете с этим не согласиться, но это попытка ответить на вопрос.

в оболочке psql.exe выполнить



Это даст ему версию клиента postgre. Я думаю, что OP запрашивает версию сервера sql.

С помощью pgadmin4 это можно увидеть, дважды щелкнув Серверы > server_name_here > вкладка Свойства > Версия:


введите здесь описание изображения

О, моя ошибка. Я думал, что вы щелкаете правой кнопкой мыши по серверу, что приводит к другому диалоговому окну «Свойства». Спасибо!

Простой способ – проверить версию, введя psql --version в терминале


Обратите внимание, что здесь будет указана только версия клиента, которая вполне может отличаться от версии сервера. Смотрите ответ @simhumileco для канонического пути.

Надеюсь, это кому-нибудь поможет


Команда pg_config сообщит каталог, в котором установлены программы PostgreSQL (--bindir), расположение включаемых файлов C (--includedir) и библиотек объектного кода (--libdir), а также версию PostgreSQL (--bindir). -версия):

использовать специальную переменную VERSION

Команды \ предоставляются клиентом psql. Это не оператор SQL, который вы можете поместить в другие клиенты. Вопрос был о Navicat и т. д., которые не поддерживают этот синтаксис.

Если вы уже используете инструмент for (используется DBeaver) для подключения PostgreSQL, он будет выглядеть следующим образом:

См. изображение ниже

Если у вас есть доступ к серверу через оболочку (в вопросе упоминается, что op не имеет, но если у вас есть) в системе Debian/Ubuntu

который выведет установленную версию,

где Установлено: установленная версия пакета postgres.


Полезные запросы для проверки версии базы данных PostgreSQL

Чтобы проверить версию клиента PostgreSQL.


Не знаю, насколько это надежно, но вы можете получить два маркера версии полностью автоматически:

Таким образом, вы можете создавать пути к двоичным файлам:

Просто замените 9.2 этой командой.


Для текущей версии PgAdmin: 4.16 на момент написания.

  1. Выберите БД, версия которой вам нужна.
  2. Нажмите на вкладку свойств на правой панели.

PGAdmin 4.16 с версией БД 10.10

См. снимок экрана ниже:

  1. Используйте специальную переменную VERSION. Войдите в систему как пользователь postgres:

Полное объяснение см. в этом руководстве


Это довольно старый вопрос, на который есть много хороших ответов. Я обнаружил, что начиная с версии 12, простой вызов клиента сообщает мне то, что мне нужно знать, но я запускал их в оболочке сервера. Примеры ниже с выводом.

Когда я был на версии 12:

Я прочитал это, поскольку и клиент, и сервер имеют версию 12.

После того, как я обновил Ubuntu с 20.04 до 21.04:

Это ясно говорит мне, что клиент использует версию 13, но сервер по-прежнему использует версию 12, как я подтвердил:

Обратите внимание, кстати, на этот вводящий в заблуждение результат на данном этапе:

После обновления до версии 14:

Кстати, эта версия такая же, как и при запуске SELECT version(); запрос.


PostgreSQL – это система управления реляционными базами данных с открытым исходным кодом, широко известная как Postgres.

Как системному администратору, так и администратору базы данных, очень важно знать установленную и работающую версию Postgres в вашей системе. Например, если вы развертываете приложение, для которого требуется определенная версия Postgres, вам может потребоваться найти такую ​​же версию PostgreSQL Server.

В этой статье я объясню, как проверить версию PostgreSQL на сервере и клиенте, используя разные методы.

Использование командной строки

Чтобы найти работающую версию PostgreSQL в вашей системе, войдите в свой терминал и выполните команду postgres с параметром -V или --version:

Обе команды выведут результат в виде:

В этом примере используется версия PostgreSQL 12.5

Если бинарный файл postgres отсутствует в системном пути, вы получите сообщение об ошибке "postgres: команда не найдена". Чтобы смягчить такие проблемы, вам нужно найти каталог двоичных файлов PostgreSQL. Введите следующую команду, чтобы найти двоичную папку PostgreSQL:

Полный путь к вашей двоичной папке postgresql отображается в вашем терминале.

Путь к двоичной папке PostgreSQL

Введите полный путь и добавьте параметр --version или -V, чтобы получить текущую версию сервера PostgreSQL.

Обе команды выведут результат в виде:

В этом примере используется версия Postgres 12.5.

Использование оболочки SQL

Версию PostgreSQL можно получить из командной строки PostgreSQL.Войдите в командную строку SQL сервера и выполните команду SQL, чтобы распечатать версию.

Введите следующую команду SQL, чтобы проверить текущую версию PostgreSQL:


Проверка версии PostgreSQL с помощью SQL Shell

В этом примере используется версия PostgreSQL 12.5

Вы можете отобразить только версию сервера PostgreSQL, используя следующую инструкцию SQL.

Этот оператор SQL выведет следующий вывод:


Серверная версия PostgreSQL с использованием инструкции SQL

В этом примере запущена версия PostgreSQL 12.5

Версия клиента PSQL

psql — это интерактивная служебная программа командной строки на основе терминала, которая выступает в качестве внешнего интерфейса для PostgreSQL и позволяет вам взаимодействовать с сервером PostgreSQL. Вы можете запустить следующую команду, чтобы отобразить версию клиентской утилиты psql:

Также вы можете запустить команду psql с параметром -V, чтобы распечатать версию клиентской утилиты psql.

Вы получите следующий вывод в своем терминале:


Версия клиента PostgreSQL psql

В этом примере версия утилиты клиента psql — 12.5

Заключение

Мы надеемся, что эта статья помогла вам найти версию PostgreSQL другим способом. Пожалуйста, не стесняйтесь комментировать нас. Спасибо.

Теги Postgresql slug; $list = get_page_by_title('related', 'OBJECT', 'wp_show_posts'); wpsp_display($list->ID, 'tax_term="' . $cat_slug . '"' );*/ ?>

Читайте также: