Перейти к содержимому

Postgre как узнать кто подключен к базе

  • автор:

Postgre как узнать кто подключен к базе

Как по-человечески посмотреть все подключения на данный момент к postgresql.
Сейчас смотрю по netstat, хотя понимаю, что это глупо.
В логи тоже неохота залазить каждый раз.

icq : 196-248-172
Re: просмотр подключений к postgresql

От: butcher http://bu7cher.blogspot.com
Дата: 31.07.04 07:58
Оценка:

Здравствуйте, AndreyAndreev, Вы писали:

AA>Как по-человечески посмотреть все подключения на данный момент к postgresql.
AA>Сейчас смотрю по netstat, хотя понимаю, что это глупо.
AA>В логи тоже неохота залазить каждый раз.

 template1=# SELECT * from pg_stat_activity;

Нет ничего невозможного..
Re[2]: просмотр подключений к postgresql

От: AndreyAndreev
Дата: 31.07.04 08:17
Оценка:

Здравствуйте, butcher, Вы писали:

B>

B> template1=# SELECT * from pg_stat_activity; B>

т.е. статистика подключений находится в системной таблице, а что там еще интересного есть?

icq : 196-248-172
Re[3]: просмотр подключений к postgresql

От: butcher http://bu7cher.blogspot.com
Дата: 31.07.04 08:24
Оценка:

Здравствуйте, AndreyAndreev, Вы писали:

B>>

B>> template1=# SELECT * from pg_stat_activity; B>>

AA>т.е. статистика подключений находится в системной таблице, а что там еще интересного есть?
Честно говоря, я сам это узнал поискав ответ на ваш вопрос , сам пользовался ps ax | grep postgres
А по системным таблицам посмотрите monitoring.html в документации идущей с postgresql..

Нет ничего невозможного..
Re[4]: просмотр подключений к postgresql

От: AndreyAndreev
Дата: 31.07.04 08:30
Оценка:

Здравствуйте, butcher, Вы писали:

B>Честно говоря, я сам это узнал поискав ответ на ваш вопрос , сам пользовался ps ax | grep postgres
B>А по системным таблицам посмотрите monitoring.html в документации идущей с postgresql..

Подключиться к кластеру PostgreSQL

К кластеру облачных баз данных PostgreSQL можно подключиться по DNS-адресу.

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

Порты ​

Для подключения к PostgreSQL используйте порты:

  • 5433 — порт для подключения к выбранной ноде через пулер соединений — позволяет снизить нагрузку на PostgreSQL;
  • 5432 — порт для подключения напрямую к процессу PostgreSQL.

Способы подключения ​

  • через терминальный клиент psql;
  • через графические инструменты для управления базами данных: pgAdmin или офисный пакет с поддержкой ODBC или JDBC;
  • из программного кода с SSL и без SSL.

Для всех способов доступно подключение с SSL-сертификатом.

Посмотреть адрес для подключения ​

  1. В панели управления перейдите в раздел Облачная платформаБазы данных.
  2. Откройте страницу кластера баз данных → вкладка Подключение.
  3. В блоке DNS-адреса для подключения посмотрите DNS-адрес.

Подключиться с SSL ​

Подключение по SSL обеспечивает шифрование данных между вашим сервером и кластером баз данных.

  1. Скачайте корневой сертификат и поместите его в папку ~/.postgresql/ :
mkdir -p ~/.postgresql/ wget https://storage.dbaas.selcloud.ru/CA.pem -O ~/.postgresql/root.crt chmod 0600 ~/.postgresql/root.crt 
psql --host=host> \  --port=port> \  --user=database_user_name> \  --dbname=database_name> \  --sslmode=verify-ca 
  • — DNS-адрес ноды;
  • — порт для подключения;
  • — имя пользователя базы данных;
  • — имя базы данных.
  1. В панели управления нажмите Скачать сертификат для скачивания корневого сертификата и поместите его в папку %APPDATA%\postgresql\
  2. Подключитесь к кластеру:
psql --host=host> \  --port=port> \  --user=database_user_name> \  --dbname=database_name> \  --sslmode=verify-ca 
  • — DNS-адрес ноды;
  • — порт для подключения;
  • — имя пользователя базы данных;
  • — имя базы данных.
  1. Скачайте корневой сертификат и поместите его в папку ~/.postgresql/ :
mkdir -p ~/.postgresql/ wget https://storage.dbaas.selcloud.ru/CA.pem -O ~/.postgresql/root.crt chmod 0600 ~/.postgresql/root.crt 
pip3 install psycopg2-binary 
import psycopg2 conn = psycopg2.connect("""  host=  dbname=  user=  password=  sslrootcert=  sslmode=verify-ca  port= """) cur = conn.cursor() cur.execute('SELECT 40+2')  print(cur.fetchone()) cur.close() conn.close() 
  • — DNS-адрес ноды;
  • — имя базы данных;
  • — имя пользователя базы данных;
  • — пароль пользователя;
  • — полный путь до корневого сертификата;
  • — порт для подключения.
  1. Скачайте корневой сертификат и поместите его в папку ~/.postgresql/ :
mkdir -p ~/.postgresql/ wget https://storage.dbaas.selcloud.ru/CA.pem -O ~/.postgresql/root.crt chmod 0600 ~/.postgresql/root.crt 
apt install php-pgsql 
  $dbconn = pg_connect("  host=  dbname=  user=  password=  sslrootcert=  sslmode=verify-ca  port= "); $query = 'SELECT 40 + 2'; $result = pg_query($query); $row = pg_fetch_row($result); echo $row[0]; pg_close($dbconn); ?> 
  • — DNS-адрес ноды;
  • — имя базы данных;
  • — имя пользователя базы данных;
  • — пароль пользователя;
  • — полный путь до корневого сертификата;
  • — порт для подключения.
  1. Скачайте корневой сертификат и поместите его в папку ~/.postgresql/ :
mkdir -p ~/.postgresql/ wget https://storage.dbaas.selcloud.ru/CA.pem -O ~/.postgresql/root.crt chmod 0600 ~/.postgresql/root.crt 
package main  import ( "context" "fmt" "os"  "github.com/jackc/pgx/v4" )  func main()    connectionString := fmt.Sprintf("postgres://%s:%s@%s:5432/%s?sslmode=verify-ca&sslrootcert=%s", "", "", "", "", "" )  conn, err := pgx.Connect(context.Background(), connectionString) if err != nil   fmt.Fprintf(os.Stderr, "Unable to connect to database: %v\n", err)  os.Exit(1) > defer conn.Close(context.Background())  var sum int64  err = conn.QueryRow(context.Background(), "SELECT 40+2").Scan(&sum) if err != nil   fmt.Fprintf(os.Stderr, "QueryRow failed: %v\n", err)  os.Exit(1) >  fmt.Println(sum) > 
  • — имя пользователя базы данных;
  • — пароль пользователя;
  • — DNS-адрес ноды;
  • — имя базы данных;
  • — полный путь до корневого сертификата.
  1. Скачайте корневой сертификат и поместите его в папку ~/.postgresql/ :
mkdir -p ~/.postgresql/ wget https://storage.dbaas.selcloud.ru/CA.pem -O ~/.postgresql/root.crt chmod 0600 ~/.postgresql/root.crt 

Подключение PostgreSQL

Используется для подключения и работы с базой данных PostgreSQL.

Примечание: с помощью этого подключения также можно работать с базами данных Greenplum и Arenadata, которые основаны на PostgreSQL.

Параметры подключения

При настройке подключения задаются следующие параметры:

  • Метка — содержит задаваемое пользователем имя подключения.
  • Строка подключения — строка вида host[:port][:database] (параметры в [ ] являются опциональными):
    • host — хост сервера PostgreSQL;
    • port — порт TCP, используемый сервером СУБД для взаимодействия с клиентом;
    • database — имя базы данных.

    Строка подключения может отсутствовать. В этом случае host=localhost.

    Эти настройки используются драйвером OLE DB для подключения к базе данных.

    Задать строку подключения можно вручную или в отдельном окне, которое вызывается при клике мышью по кнопке .

    Окно имеет два поля:

    • Сервер — хост SQL-сервера.
    • База данных — имя базы данных.

    Примеры строки подключения:

    • Тестировать — тест указанных настроек подключения.
    • Логин — логин пользователя БД. Если логин не указан, то используется доменная авторизация.
    • Пароль — пароль пользователя БД.
    • Настройки SSL — параметры, необходимые для установления защищенного подключения к MySQL. Задаются в отдельном окне, которое вызывается при клике мышью по кнопке . В окне можно установить значение следующих параметров:
      • Использовать SSL — при включенной опции устанавливается защищенное подключение, если оно поддерживается сервером PostgreSQL.
      • Сертификат CA — путь к корневому сертификату.
      • Сертификат пользователя — путь к клиентскому сертификату.
      • Приватный ключ — путь к закрытому ключу.
      • Пароль приватного ключа — указывается, если закрытый ключ хранится в зашифрованном виде.
      • По умолчанию — используется значение по умолчанию сервера БД.
      • — время ожидания не ограничивается.
      • Числовые значения — выбор из следующих значений: 5,10,20,30,60,120.

      Примечание: поскольку для подключения используется встроенный драйвер, то установка клиента СУБД не требуется.

      Совместимость

      Версии c 9 по 15.1.

      Важно: для обмена данными с сервером используется кодировка UTF-8.

      Смотри также:

      • Информация в русском разделе википедии.
      • Официальный сайт производителя.
      • Документация по SQL синтаксису.
      • Российская СУБД (Postgres Pro), разработанная на основе свободно-распространяемой СУБД PostgreSQL.

      WTFM.INFO

      Write The F* Manual — Заметки о сетях, администрировании и вообще

      PostgreSQL сбросить коннекты к бд

      Смотрим список подключений:

      SELECT pid, usename, client_addr, backend_start, query FROM pg_stat_activity WHERE datname = 'dbname';

      Сбрасываем все подключения к бд (кроме того из под которого работаем сейчас, если мы подключены к базе dbname):

      SELECT pg_terminate_backend( pid ) FROM pg_stat_activity WHERE pid <> pg_backend_pid( ) AND datname = 'dbname';

      Запись опубликована 07.03.2019 автором xinferum в рубрике Базы данных с метками PostgreSQL, SQL.

      Добавить комментарий Отменить ответ

      Мета

      Найти на сайте

      TOP 5

      • Barman сжатие WAL (108 799)
      • Как получить chat id из канала telegram (19 401)
      • PostgreSQL посмотреть права пользователя на таблицы (14 778)
      • PostgreSQL выдача прав пользователю с учетом создаваемых в будущем объектов (11 553)
      • PostgreSQL посмотреть текущие запросы к базам (10 868)

      Рубрики

      • DevOps (5)
      • English (2)
      • Python (2)
      • Автоматизация (1)
        • Ansible (1)
        • Elasticsearch (5)
        • Zabbix (4)
        • Администрирование Linux (35)
        • Администрирование Windows (19)
        • Mikrotik (1)

        Свежие записи

        • Linux выполнить команду каждые 10 секунд, записать результат
        • Работа с Mikrotik в Ansible
        • Netbox — search for duplicate IP addresses. Python script.
        • Netbox — поиск дубликатов IP адресов. Python скрипт.
        • Простой мониторинг или NetWatch для FreeBSD/Linux (bash), уведомления в Telegram

        Свежие комментарии

        • Антон к записи Kubernetes. Taints and Tolerations. Запуск подов на мастере.
        • xinferum к записи pgsentinel настройка (хранение истории активных сессий PostgreSQL)
        • Sergey Shumeev к записи pgsentinel настройка (хранение истории активных сессий PostgreSQL)
        • Антон к записи iSpy — уведомления в Telegram при обнаружении движения
        • Аноним к записи Удаление checkpoint(snapshot) VM без опции «Удалить» через PowerShell

        © WTFM.INFO (ex. shiningapples.net) 2017 — 2023

        Все статьи, представленные на сайте, являются авторскими, если не указан источник. При цитировании материалов сайта, пожалуйста, указывайте ссылку на оригинальную статью. По всем вопросам обращайтесь на admin@wtfm.info

        Ссылки Hostiman - наш хостинг BearScience - полезный it (и не только) блог

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *