Это команда pgbouncer, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
pgbouncer - легкий пул подключений для PostgreSQL
СИНТАКСИС
pgbouncer [-d] [- R] [- v] [- u пользователь]
pgbouncer -V | -h
На компьютерах с Windows доступны следующие варианты:
pgbouncer.exe [-v] [- u пользователь]
pgbouncer.exe -V | -h
Дополнительные возможности для настройки службы Windows:
pgbouncer.exe --regservice
pgbouncer.exe --unregservice
ОПИСАНИЕ
pgbouncer представляет собой пул соединений PostgreSQL. К любому целевому приложению можно подключить
pgbouncer как если бы это был сервер PostgreSQL, и pgbouncer создаст соединение с
фактический сервер, или он будет повторно использовать одно из своих существующих подключений.
Цель pgbouncer состоит в том, чтобы снизить влияние на производительность открытия новых подключений к
Постгрес SQL.
Чтобы не нарушать семантику транзакции для пула соединений, pgbouncer
поддерживает несколько типов пула при ротации соединений:
Сессия объединение
Самый вежливый метод. Когда клиент подключается, подключение к серверу будет назначено
это в течение всего времени, когда клиент остается на связи. Когда клиент отключается,
соединение с сервером будет возвращено в пул. Это метод по умолчанию.
сделка объединение
Подключение к серверу назначается клиенту только во время транзакции. Когда
PgBouncer замечает, что транзакция завершена, соединение с сервером будет восстановлено.
в бассейн.
заявление объединение
Самый агрессивный метод. Соединение с сервером будет снова помещено в пул.
сразу после завершения запроса. Транзакции с несколькими операциями запрещены в
этот режим как бы сломался.
Интерфейс администрирования pgbouncer состоит из некоторых новых ОТКРЫТЬ доступные команды
при подключении к специальной «виртуальной» базе данных pgbouncer.
БЫСТРЫЙ СТАРТ
Базовая настройка и использование следующие.
1. Создайте файл pgbouncer.ini. Подробности в pgbouncer(5). Простой пример:
[базы данных]
template1 = host = 127.0.0.1 port = 5432 dbname = template1
[pgbouncer]
слушать_порт = 6543
слушать_адрес = 127.0.0.1
тип_авторизации = md5
auth_file = пользователи.txt
файл журнала = pgbouncer.log
pidfile = pgbouncer.pid
admin_users = какой-то пользователь
2. Создавать пользователи.txt файл, содержащий разрешенных пользователей:
"someuser" "same_password_as_in_server"
3. запуск pgbouncer:
$ pgbouncer -d pgbouncer.ini
4. Имейте ваше приложение (или PSQL клиент) подключиться к pgbouncer вместо того, чтобы напрямую
Сервер PostgreSQL:
$ psql -p 6543 -U какой-то пользователь шаблон1
5. управлять pgbouncer подключившись к специальной административной базе данных pgbouncer и
эмиссионный произошел Помогите; начать:
$ psql -p 6543 -U какой-то пользователь pgbouncer
pgbouncer = # показать справку;
ВНИМАНИЕ: использование консоли
ДЕТАЛИ:
ПОКАЗАТЬ [ПОМОЩЬ | КОНФИГУРАЦИЯ | БАЗЫ ДАННЫХ | FDS | ПУЛЫ | КЛИЕНТЫ | СЕРВЕРЫ | РОЗЕТКИ | СПИСКИ | ВЕРСИЯ]
SET ключ = аргумент
RELOAD
PAUSE
ПРИОСТАНОВИТЬ
ПРОДОЛЖИТЬ
Выключение
6. Если вы внесли изменения в файл pgbouncer.ini, вы можете перезагрузить его с помощью:
pgbouncer = # ПЕРЕЗАГРУЗИТЬ;
КОМАНДА ЛИНИЯ ВЫКЛЮЧАТЕЛИ
-d Работать в фоновом режиме. Без него процесс будет работать на переднем плане. Примечание: не
работать в Windows, pgbouncer нужно запустить там как службу.
-R Сделайте онлайн-перезапуск. Это означает подключение к запущенному процессу, загрузку
открывать от него розетки, а потом пользоваться ими. Если активного процесса нет, загрузитесь
обычно. Примечание: работает, только если ОС поддерживает сокеты Unix и unix_socket_dir is
не отключен в конфиге. Не работает на машинах с Windows. Не работает с TLS
соединения, они отбрасываются.
-u пользователь
Переключиться на данного пользователя при запуске.
-v Увеличьте многословие. Можно использовать несколько раз.
-q Молчи - не заходить на стандартный вывод. Обратите внимание, что это не влияет на подробность ведения журнала, только
этот стандартный вывод не должен использоваться. Для использования в сценариях init.d.
-V Показать версию.
-h Покажи краткую справку.
--регсервис
Win32: зарегистрируйте pgbouncer для запуска в качестве службы Windows. В наименование услуги конфиг
значение параметра используется как имя для регистрации.
--unregservice
Win32: отменить регистрацию службы Windows.
ADMIN КОНСОЛЬ
Консоль доступна при обычном подключении к базе данных pgbouncer:
$ psql -p 6543 pgbouncer
Только пользователи, указанные в параметрах конфигурации admin_users or статистика_пользователей разрешено
войдите в консоль. (За исключением случаев, когда auth_mode = любой, то любой пользователь может войти в качестве
статистика_пользователь.)
Дополнительно имя пользователя pgbouncer разрешен вход без пароля, если логин
приходит через сокет Unix, и у клиента тот же uid пользователя Unix, что и у запущенного процесса.
Показать команды
Команда ОТКРЫТЬ команды выводят информацию. Каждая команда описана ниже.
ОТКРЫТЬ СТАТИСТИКА;
Показывает статистику.
база данных
Статистика представлена по базе данных.
total_requests
Общее количество SQL-запросов, объединенных pgbouncer.
всего_получено
Общий объем сетевого трафика в байтах, полученный pgbouncer.
всего отправлено
Общий объем сетевого трафика в байтах, отправленного pgbouncer.
total_query_time
Общее количество микросекунд, потраченных пользователем pgbouncer при активном подключении к
Постгрес SQL.
avg_req
Среднее количество запросов в секунду за последний статистический период.
avg_recv
Среднее количество полученных (от клиентов) байт в секунду.
среднее_отправлено
Среднее количество отправленных (клиентам) байт в секунду.
средний_запрос
Средняя продолжительность запроса в микросекундах.
ОТКРЫТЬ СЕРВЕРЫ;
напишите S, для сервера.
пользователь Имя пользователя pgbouncer используется для подключения к серверу.
база данных
Имя базы данных.
состояние Состояние подключения к серверу pgbouncer, одно из активный, использовал or холостой ход.
адр IP-адрес сервера PostgreSQL.
порт Порт сервера PostgreSQL.
локальный_адрес
Начальный адрес подключения на локальном компьютере.
локальный_порт
Порт начала подключения на локальном компьютере.
подключение_время
Когда соединение было установлено.
запрос_время
Когда был отправлен последний запрос.
PTR Адрес внутреннего объекта для этого подключения. Используется как уникальный идентификатор.
ссылке. Адрес клиентского подключения, с которым связан сервер.
удаленный_pid
Pid серверного процесса. В случае, если подключение осуществляется через сокет unix и ОС
поддерживает получение информации об идентификаторе процесса, это идентификатор ОС. В противном случае он извлекается из
отменить отправку пакетного сервера, который должен быть PID в случае, если сервером является Postgres, но это
случайное число в случае, если сервером является другой PgBouncer.
ОТКРЫТЬ КЛИЕНТЫ;
напишите C, для клиента.
пользователь Пользователь, подключенный к клиенту.
база данных
Имя базы данных.
состояние Состояние клиентского подключения, одно из активный, использовал, ожидание or холостой ход.
адр IP-адрес клиента.
порт Клиент порта подключен к.
локальный_адрес
Конечный адрес подключения на локальном компьютере.
локальный_порт
Порт завершения подключения на локальном компьютере.
подключение_время
Отметка времени подключения.
запрос_время
Отметка времени последнего клиентского запроса.
PTR Адрес внутреннего объекта для этого подключения. Используется как уникальный идентификатор.
ссылке. Адрес подключения к серверу, с которым связан клиент.
удаленный_pid
Идентификатор процесса, если клиент подключается через сокет UNIX и ОС поддерживает его получение.
ОТКРЫТЬ БАССЕЙНЫ;
Для каждой пары (база данных, пользователь) создается новая запись в пуле.
база данных
Имя базы данных.
пользователь Имя пользователя.
cl_active
Клиентские подключения, которые связаны с серверным подключением и могут обрабатывать запросы.
cl_waiting
Клиентские подключения отправили запросы, но еще не получили подключение к серверу.
sv_active
Подключения к серверу, связанные с клиентом.
sv_idle
Неиспользуемые серверные соединения, которые можно сразу использовать для клиентских запросов.
sv_used
Серверные соединения, которые простаивали более server_check_delay, поэтому им нужно
server_check_query запустить на нем, прежде чем его можно будет использовать.
sv_tested
Подключения к серверу, которые в настоящее время выполняются server_reset_query or
server_check_query.
sv_login
Серверные соединения, которые в данный момент находятся в процессе входа в систему.
Maxwait
Время ожидания первого (самого старого) клиента в очереди в секундах. Если это начнется
увеличивается, то текущий пул серверов не обрабатывает запросы достаточно быстро.
Причиной может быть либо перегруженный сервер, либо слишком маленький размер_пула установка.
режим_пула
Используемый режим объединения.
ОТКРЫТЬ СПИСКИ;
Показывать следующую внутреннюю информацию в столбцах (не в строках):
базы данных
Количество баз данных.
пользователей Количество пользователей.
бассейны Количество бассейнов.
бесплатные_клиенты
Подсчет бесплатных клиентов.
используемые_клиенты
Количество использованных клиентов.
логин_клиенты
Количество клиентов в Войти состоянии.
бесплатные_серверы
Количество бесплатных серверов.
используемые_серверы
Количество используемых серверов.
ОТКРЫТЬ ПОЛЬЗОВАТЕЛИ;
имя Имя пользователя
режим_пула
Пользовательское переопределение pool_mode или NULL, если вместо него будет использоваться значение по умолчанию.
ОТКРЫТЬ БАЗЫ ДАННЫХ;
имя Имя настроенной записи базы данных.
кашель Хост pgbouncer подключается к.
порт Порт, к которому подключается pgbouncer.
база данных
Фактическое имя базы данных, к которой подключается pgbouncer.
Force_user
Когда пользователь является частью строки подключения, соединение между pgbouncer и
PostgreSQL навязывается данному пользователю независимо от пользователя клиента.
размер_пула
Максимальное количество подключений к серверу.
режим_пула
Переопределение pool_mode базы данных или NULL, если вместо этого будет использоваться значение по умолчанию.
ОТКРЫТЬ ФДС;
Внутренняя команда - показывает список используемых файловых дисков с прикрепленным к ним внутренним состоянием.
Когда подключенный пользователь имеет имя пользователя «pgbouncer», подключается через сокет Unix и имеет
тот же UID, что и у запущенного процесса, фактические fds передаются через соединение. Этот
механизм используется для перезапуска онлайн. Примечание. Это не работает на компьютерах с Windows.
Эта команда также блокирует внутренний цикл событий, поэтому ее не следует использовать, пока PgBouncer
в использовании.
fd Числовое значение дескриптора файла.
задача Одной из пуллер, клиент or сервер.
пользователь Пользователь соединения, использующего FD.
база данных
База данных подключения с использованием FD.
адр IP-адрес подключения с помощью FD, Юникс если используется сокет unix.
порт Порт, используемый для подключения с помощью FD.
отменить Клавиша отмены для этого подключения.
ссылке. fd для соответствующего сервера / клиента. NULL в режиме ожидания.
ОТКРЫТЬ КОНФИГУРАЦИЯ;
Показать текущие параметры конфигурации, по одному в каждой строке, со следующими столбцами:
ключ Имя переменной конфигурации
ценностное Значение конфигурации
Сменный
Или Да or нет, показывает, можно ли изменить переменную во время работы. Если нет,
переменную можно изменить только во время загрузки.
ОТКРЫТЬ DNS_HOSTS;
Показать имена хостов в кеше DNS.
хоста
Имя хоста.
время_жизни Сколько секунд до следующего поиска.
адреса Список адресов, разделенных запятыми.
ОТКРЫТЬ DNS_ZONES
Показать зоны DNS в кеше.
название зоны
Название зоны.
последовательный Текущий сериал.
считать Имена хостов, принадлежащие этой зоне.
Разработка контролирует команды
PAUSE [дб];
PgBouncer пытается отключиться от всех серверов, сначала ожидая завершения всех запросов.
Команда не вернется, пока все запросы не будут завершены. Будет использоваться во время
перезапуск базы данных.
Если указано имя базы данных, будет приостановлена только эта база данных.
DISABLE дб;
Отклонить все новые клиентские подключения к данной базе данных.
ВКЛЮЧИТЬ дб;
Разрешить новые клиентские подключения после предыдущего DISABLE команда.
Убить дб;
Немедленно отключите все клиентские и серверные подключения к данной базе данных.
ПРИОСТАНОВИТЬ;
Все буферы сокетов очищаются, и PgBouncer перестает прослушивать данные на них. В
команда не вернется, пока все буферы не станут пустыми. Будет использоваться во время PgBouncer
онлайн перезагрузка.
ПРОДОЛЖИТЬ [дб];
Возобновить работу с предыдущего PAUSE or ПРИОСТАНОВИТЬ команда.
НЕИСПРАВНОСТЬ;
Процесс PgBouncer завершится.
ПЕРЕЗАГРУЗИТЬ;
Процесс PgBouncer перезагрузит свой файл конфигурации и обновит изменяемые параметры.
Сигналы
ПОДПИСАТЬСЯ Перезагрузить config. То же, что и выдача команды ПЕРЕЗАГРУЗИТЬ; на консоли.
SIGINT Безопасное отключение. То же, что и выдача ПАУЗА; и НЕИСПРАВНОСТЬ; на консоли.
СИГТЕРМ
Немедленное отключение. То же, что и выдача НЕИСПРАВНОСТЬ; на консоли.
Либевент настройки
Из документации libevent:
Можно отключить поддержку epoll, kqueue, devpoll, poll
или выберите, установив переменную среды EVENT_NOEPOLL,
EVENT_NOKQUEUE, EVENT_NODEVPOLL, EVENT_NOPOLL или EVENT_NOSELECT,
соответственно.
Установив переменную окружения EVENT_SHOW_METHOD, libevent
отображает метод уведомления ядра, который он использует.
Используйте pgbouncer онлайн с помощью сервисов onworks.net