Как проверить статус postgresql в Linux

Обновлено: 01.07.2024

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

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

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

Прежде всего проверьте, установлен ли уже PostgreSQL Database Server. Это важно, но этот шаг можно пропустить, если он уже убедился, что он действительно есть. Обязательно проверьте это, и в операционной системе Ubuntu Linux это можно сделать с помощью команды «apt», которую можно прочитать в статье «Список установленных программ в Ubuntu Linux с помощью команды apt», если используется операционная система Ubuntu или любой вариант дистрибутива операционной системы Debian.

После этого, чтобы проверить, активна ли служба, важно знать имя службы, которое представляет сервер базы данных PostgreSQL. Это можно сделать в нескольких дистрибутивах операционной системы Linux, проверив файл конфигурации службы, который обычно находится в /etc, в зависимости от используемого варианта Linux. Для этого введите следующую команду:

Если сервер базы данных PostgreSQL уже установлен и настроен на прослушивание и обработку запросов через порт 5432, ниже приведен возможный результат, который будет показан при выполнении вышеуказанной команды в терминале командной строки bash:

Из показанного выше вывода понятно, что имя службы — «postgresql». Следующее, что нужно сделать, это проверить, активна ли эта служба с именем «postgresql» или, по крайней мере, порт, назначенный службе, активен и ожидает обработки запроса.

Вот как проверить, активна служба или нет:

Это когда он выполняется в терминале приглашения bash и оказывается, что служба активна:

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

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

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

[ 2020-03-22 Редактировать: я получил несколько советов от друзей, показавших мне лучшие способы проверить, работает ли Postgres, поэтому я решил отредактировать этот пост, чтобы сделать его лучше. Я собрал все эти советы, чтобы придумать свой обновленный способ проверить, работает ли Postgres. Благодаря @tapoueh я нашел надежный способ узнать, какой порт использует ваш экземпляр (если ваш Postgres запущен и работает). Пожалуйста, продолжайте присылать мне советы, друзья: это делает меня лучше!]

Эти смутные времена заставили меня работать усерднее, чем раньше, чтобы завершить текущие миссии, и после этого я обнаружил, что мне почему-то нечего делать, и это немного беспокоит. Так почему бы не воспользоваться этим временем, чтобы записать ту статью, которая пришла мне в голову сегодня утром во время завтрака?

Я нахожусь в группе Postgres slack и Telegram, реже в IRC. Я часто вижу один и тот же вопрос, снова и снова: «Постгрес не работает, вы можете мне помочь?». Нет, мы не можем. Там слишком мало информации, мы ничем не можем вам помочь.

Итак, я решил создать это небольшое руководство по устранению неполадок для Postgres, работающего в Linux (для Windows некоторые советы будут точными, некоторые нет). Сегодня первая часть: Работает ли Postgres?

Как проверить, запущен ли Postgres?

Что бы вы ни делали, вам нужно знать, запущен ли Postgres (или несколько Postgres запущены одновременно). Есть несколько способов узнать это, вот тот, который я настроил с учетом всех полезных советов, которые мне прислали мои друзья:

Должен ли я стыдиться того, что вчера даже не знал о существовании pgrep? Я так не думаю. Если бы мне было стыдно за все, чего я не знаю, я бы боялась учиться, а этого уж точно не хочу!

Поэтому pgrep просматривает процессы и пытается найти их. Вот параметры, которые я добавил, чтобы все выглядело так, как я хотел:

  • -u postgres будет просматривать только процессы, принадлежащие пользователю postgres
  • -f просматривает шаблон во всей командной строке, а не только в имени процесса
  • -a отобразит всю командную строку, а не только номер процесса
  • -- позволит использовать шаблон, начинающийся с - (как наш -D )

Если у вас одновременно запущено несколько серверов Postgres, возможно, вы пытаетесь подключиться не к тому экземпляру?

Если у вас вообще нет строки, значит Postgres не запущен.

Как подключиться к нужному экземпляру Postgres

Каждый экземпляр Postgres использует порт для подключения. По умолчанию используется порт 5432. Вам нужно определить, какой порт используется для каждого экземпляра, чтобы подключиться к нужному.

Поиск каталога $PGDATA

Скорее всего, вы найдете свой каталог $PGDATA в пути, указанном после параметра -D, который вы видите в ранее введенной команде pgrep. Итак, в моем случае $PGDATA — это /var/lib/pgsql/12/data/ на моем хосте CentOS, тогда как это /var/lib/postgresql/12/main и /var/lib/postgresql/12/test для экземпляров. работает на моем хосте Ubuntu.

Поиск вашего порта

Найдя каталог $PGDATA, вы найдете файл postmaster.pid. 4-я строка даст вам порт для этого экземпляра. Итак, вы можете попробовать эту команду, чтобы получить номер вашего порта напрямую.

Итак, для моего хоста CentOS эта команда будет:

Флаг -n гарантирует, что мы получим только запрашиваемую строку. Команда sed избавится от любых комментариев, а команда grep будет искать слово порта. 4 означает, что нам нужна 4-я строка, а p означает, что мы хотим ее напечатать.

Как запустить Postgres

Снова есть несколько способов запустить Postgres. Если вы используете дистрибутив на основе Debian, вам очень пригодятся обертки Perl.

Для Debian или дистрибутивов Linux на основе Debian (включая Ubuntu)

Сначала запустите pg_lsclusters, чтобы узнать имя вашего кластера:

Чтобы запустить этот конкретный кластер, вам просто нужно выполнить:

Итак, в нашем примере это будет:

Для дистрибутивов Systemd

Если ваш дистрибутив Linux использует Systemd, вы также можете использовать его. Для этого вам понадобится имя службы. Вы можете найти его, выполнив эту простую команду (я предположил, что ваша служба была включена, как указано на странице загрузки и установки Postgres):

Например, мой CentOS ответил мне:

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

Это было так просто! В следующий раз посмотрим, что делать, если Postgres отказывается запускаться! (Да, такое случается, в большинстве случаев из-за того, что вы накосячили, но это уже другая история).


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 . '"' );*/ ?>

Как PostgreSQL поддерживает науку, исследования, промышленность, ГИС и веб-технологии? Узнайте, как начать работу с этой мощной службой базы данных.

Опубликовано: 19 марта 2021 г. | Пратик Прабхакаран

Настройка и варианты использования PostgreSQL

Фото: ThisIsEngineering, Pexels

PostgreSQL — это система объектно-реляционных баз данных с открытым исходным кодом. Она считается самой передовой в мире реляционной базой данных с открытым исходным кодом, предназначенной для расширения и настройки.

Основные возможности PostgreSQL

  • Переносимость. PostgreSQL написан на языке ANSI C и поддерживает различные разновидности операционных систем, таких как Windows, Linux, macOS и все другие основные платформы UNIX.
  • Надежность. PostgreSQL совместим с ACID и поддерживает транзакции и точки сохранения. Он использует концепцию ведения журнала с опережающей записью (WAL) для ведения журнала транзакций.
  • Масштабируемость. PostgreSQL использует управление параллельным выполнением нескольких версий, поддерживает табличные пространства и параллельное последовательное сканирование.
  • Восстановление и доступность. PostgreSQL поддерживает горячее резервное копирование с помощью встроенной утилиты резервного копирования pg_basebackup, управляет потоковой репликацией с помощью слотов репликации и содержит синхронные и асинхронные параметры.
  • Безопасность. PostgreSQL использует аутентификацию на основе хоста для повышения безопасности базы данных, поддерживает ведение журналов, предоставляет разрешения на уровне объектов и обеспечивает безопасность на уровне строк.

Установка и настройка PostgreSQL

Существует множество способов установки PostgreSQL, и какой из них наиболее подходит для вашей ситуации, зависит от вашей среды и конкретных потребностей. PostgreSQL можно загрузить и установить с помощью установщиков или готовых к использованию пакетов программного обеспечения для различных разновидностей ОС с веб-сайта PostgreSQL или часто найти в пакетах для определенных операционных систем. Последняя доступная версия PostgreSQL — 13.2. На момент написания этой статьи последней доступной версией PostgreSQL для моей версии Red Hat Enterprise Linux (RHEL) была версия 12.5.

В системе RHEL 8.3 я выполнил следующие шаги для установки и настройки PostgreSQL. Перед установкой в ​​вашей среде обязательно ознакомьтесь с официальной документацией.

  • Добавьте репозитории RHEL 8.3 из CDN на сервер Satellite.
  • Синхронизируйте репозиторий Red Hat Enterprise Linux 8 для x86_64 — AppStream (RPM).
  • Включите репозиторий AppStream для хоста RHEL 8.3 с помощью этой команды:
  • Установите PostgreSQL с помощью этой команды:
  • На этом шаге загружаются пакеты postgresql-server и postgresql.
  • Запустите базу данных postgresql с помощью следующей команды:
  • Включите для базы данных PostgreSQL автоматический запуск службы Postgres при загрузке:
  • Запустите службу PostgreSQL с помощью команды systemctl:
  • Проверьте состояние службы PostgreSQL с помощью команды:
  • Войдите в Postgres и введите команду '\l+', чтобы просмотреть список баз данных в терминале psql PostgreSQL:

Дополнительные ресурсы по Linux

Введение в pgAdmin

pgAdmin — это инструмент с графическим интерфейсом PostgreSQL с открытым исходным кодом, используемый для администрирования и управления базами данных PostgreSQL версии 9.5 и выше. Этот легкий веб-инструмент можно использовать на платформах Linux, Unix, macOS и Windows. Последняя доступная версия — pgAdmin версии 4.30. Вы можете попробовать бесплатную демо-версию песочницы pgAdmin.

Случаи использования PostgreSQL

  • Географическая информационная система. PostgreSQL имеет мощный расширитель пространственной базы данных под названием PostGIS. Это добавляет поддержку географических данных для местоположений в различных форматах с использованием SQL-запросов. PostGIS добавляет в PostgreSQL пространственные функции, такие как типы данных геометрии, расстояние, площадь и т. д. Последняя версия PostGIS – 3.1.1.
  • Финансовая отрасль. PostgreSQL рекомендуется использовать в финансовой сфере. Поскольку PostgreSQL совместим с ACID, он считается идеальным для использования в рабочих нагрузках OLTP. PostgreSQL хорошо интегрируется с математическим программным обеспечением, таким как R и Matlab, что делает его пригодным для выполнения анализа баз данных в рабочих нагрузках OLAP.
  • Исследовательские цели. PostgreSQL имеет встроенные аналитические возможности и мощный механизм SQL, способный хранить и обрабатывать огромные объемы данных. Исследования и научные рабочие нагрузки требуют хранения данных в эксабайтах, и PostgreSQL эволюционировал, чтобы удовлетворить будущие потребности в данных.
  • Обрабатывающая промышленность. PostgreSQL считается очень надежным и используется промышленными производителями. В производстве каждая транзакция имеет решающее значение, и восстановление на определенный момент времени имеет жизненно важное значение для обеспечения минимальной потери данных в случае аварии. В результате тот факт, что PostgreSQL предлагает автоматическое переключение при сбое, потоковую репликацию, почти нулевое время простоя для обновлений и т. д., делает его подходящим для производственных отраслей.
  • Веб-технологии. Растет использование LAPP (Linux – Apache – PHP – Postgres) в качестве нового стека инфраструктуры, предпочтительного для разработки масштабируемых веб-приложений из-за простоты установки и настройки. LAPP также является предпочтительным стеком инфраструктуры для облачных развертываний различных стартапов. PostgreSQL хорошо работает со всеми современными веб-фреймворками, такими как Django (Python), Node.js (JavaScript), Hibernate (Java), PHP и т. д.

[ Начинаете работать с контейнерами? Посмотрите этот бесплатный курс. Развертывание контейнерных приложений: технический обзор. ]

Подведение итогов

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

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