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-сертификатом.
Посмотреть адрес для подключения
- В панели управления перейдите в раздел Облачная платформа → Базы данных.
- Откройте страницу кластера баз данных → вкладка Подключение.
- В блоке DNS-адреса для подключения посмотрите DNS-адрес.
Подключиться с SSL
Подключение по SSL обеспечивает шифрование данных между вашим сервером и кластером баз данных.
- Скачайте корневой сертификат и поместите его в папку ~/.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-адрес ноды;
- — порт для подключения;
- — имя пользователя базы данных;
- — имя базы данных.
- В панели управления нажмите Скачать сертификат для скачивания корневого сертификата и поместите его в папку %APPDATA%\postgresql\
- Подключитесь к кластеру:
psql --host=host> \ --port=port> \ --user=database_user_name> \ --dbname=database_name> \ --sslmode=verify-ca
- — DNS-адрес ноды;
- — порт для подключения;
- — имя пользователя базы данных;
- — имя базы данных.
- Скачайте корневой сертификат и поместите его в папку ~/.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-адрес ноды;
- — имя базы данных;
- — имя пользователя базы данных;
- — пароль пользователя;
- — полный путь до корневого сертификата;
- — порт для подключения.
- Скачайте корневой сертификат и поместите его в папку ~/.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-адрес ноды;
- — имя базы данных;
- — имя пользователя базы данных;
- — пароль пользователя;
- — полный путь до корневого сертификата;
- — порт для подключения.
- Скачайте корневой сертификат и поместите его в папку ~/.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-адрес ноды;
- — имя базы данных;
- — полный путь до корневого сертификата.
- Скачайте корневой сертификат и поместите его в папку ~/.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 (и не только) блог