Има много инструменти, използвани в администрирането на бази данни, които помагат за опростяване на управлението на бази данни с отворен код. Предимството на използването на тези видове приложения е менютата за наличност от различни обекти в базата данни (като таблици, индекси, последователности, процедури, изгледи, тригери), така че да не се налага да използвате командния ред, когато използвате собствен клиент на база данни . Просто преглеждате менюто и то веднага ще се появи на екрана.
В този блог ще прегледаме едно от приложенията за управление на база данни на трети страни за PostgreSQL, наречено pgAdmin. Това е инструмент за управление на база данни с отворен код, който е полезен за администриране на база данни, като се започне от създаване на таблици, индекси, изгледи, тригери, съхранени процедури. Освен това pgAdmin може също да наблюдава базата данни за информация, свързана със сесии, транзакции за секунди и заключване.
Мониторинг на pgAdmin
Има някои показатели в pgAdmin, които могат да бъдат ценна информация за разбиране на текущото състояние на базата данни. Ето показателите за показване в pgAdmin.
В таблото за управление можете да наблюдавате информация, свързана с входящи връзки към базата данни чрез сървърни сесии. Информация, свързана с транзакции за извършване, връщане назад и общия брой транзакции в секунда в базата данни, може да се види на екрана Транзакции за секунди. Кортежите в съдържат информация, свързана с общите кортежи вмъкване, актуализиране, изтриване в базата данни. Изходящите кортежи съдържат информация за кортежи, която се връща на клиента от базата данни. Самите кортежи са термин в PostgreSQL за редове. Входно-изходен блок на метрики съдържа информация, свързана с информацията за диска, както общо прочетени, така и извлечени блокове от кеша на базата данни.
Активността на сървъра съдържа информация, свързана с провеждане на сесии, заключване, което се случва в базата данни, подготвени изрази от заявки и конфигурация на базата данни. Както е показано на снимката по-долу.
В Properties можете да видите информация, свързана с базата данни PostgreSQL, която се достъпни, като например името на базата данни, типа на сървъра, версията на базата данни, IP адреса и използваното потребителско име.
SQL съдържа информация, свързана с генерирания SQL скрипт, създаден от избран обект както следва:
Информацията в маркирания обект се показва много подробно, тъй като съдържа скрипт за реконструкция на обект.
В раздела Статистика информацията, свързана със статистически данни, събрана от всеки обект, работещ в базата данни, се показва в менюто.
Като пример, таблицата по-горе съдържа информация относно кортежи (вмъкнати, актуализирани , изтрит, жив, мъртъв). Има и информация, свързана с вакуум и автоматичен анализ.
Вакуумът работи за почистване на мъртви кортежи в базата данни и възстановяване на дисково хранилище, използвано от мъртви кортежи. Докато автоматично анализират функциите за генериране на статистически данни за обекти, така че оптимизаторът да може точно да определи плана за изпълнение на заявка.
Наблюдение на ClusterControl PostgreSQL
ClusterControl има различни показатели, свързани с базата данни PostgreSQL, които могат да бъдат намерени в разделите Преглед, Възли, Табло за управление, Монитор на заявки и Ефективност. Следните показатели се показват в ClusterControl.
Разделът "Преглед" съдържа информация, свързана с показатели за натоварване на сървъра, вариращи от връзка, номер на вмъкване, изтриване, актуализиране, извършване и връщане назад и свързване. Освен това има информация като здравни възли, състоянието на репликация на базата данни PostgreSQL, както и информация, свързана с използването на сървъра, както е показано на фигурата по-долу.
Разделът Nodes предоставя информация, свързана с графиките от страна на сървъра, започвайки от CPU Използване, памет, използване на диск, използване на мрежа и размяна.
Таблото за управление има няколко опции за показатели, като преглед на системата, преглед на клъстера и Общ преглед на PostgreSQL. За всяка опция има различни показатели, които са свързани със състоянието на работещата система. Например, в показателите за преглед на PostgreSQL има информация, варираща от средни стойности за зареждане от базата данни, налична памет и мрежово предаване и получаване, както е показано по-долу.
Мониторът на заявки съдържа информация, свързана с изпълняваните заявки, които се изпълняват в базата данни. Можем да разберем какви заявки се изпълняват, колко дълго е времето за изпълнение, информацията за адреса на клиента и състоянието на сесията. Освен това има функция Kill session, където можем да прекратим сесията, която причинява забавяне на базата данни. Следното е дисплея от Монитор на заявки:
В допълнение към изпълняваните заявки, можем също да преглеждаме информация за статистики на заявките, като се започне от Достъп чрез последователно или индексно сканиране, Таблица I/O статистика, Индексна I/O статистика, Размер на базата данни, Топ 10 най-големи таблици.
Разделът "Ефективност" съдържа информация, свързана с променливите на базата данни и стойността, която се изпълнява в момента, освен това има съветник, който да предостави информация, свързана с последващите действия на възникналото предупреждение.
Растежът на базите данни и таблиците може да се наблюдава и в менюто DB Growth, можете да предвидите нуждите от съхранение или други действия, които ще бъдат извършени чрез анализиране на показателите за растежа на тези бази данни и таблици.
Задачи за администриране на PostgreSQL с pgAdmin
pgAdmin има различни функции за администриране на база данни и обекти, които са в базата данни, вариращи от създаване на таблици, индекси, потребители и пространства за таблици. Различните функции на pgAdmin са много полезни както за разработчиците, така и за DBA, защото правят много лесно управлението на обекти от база данни. Следва появата на дървото на менюто в pgAdmin.
Можете просто да щракнете с десния бутон върху обекта, който да бъде маркиран, след това там ще бъдат действия, които могат да бъдат извършени от този обект. Например, като маркирате База данни, тогава можете да създадете нова база данни по следния начин:
Ще има диалогов прозорец за попълване на информацията за името на базата данни, собственик на базата данни, която ще бъде създадена, кодирането, което ще се използва, пространството за таблици, което ще се използва от базата данни, достъпът за сигурност до базата данни.
Кои потребители имат право на достъп и какви привилегии ще им бъдат дадени.
Задачи за администриране на PostgreSQL с ClusterControl
ClusterControl може също да създава потребители и привилегии, които ще бъдат дадени на User Management, както е показано на следващата фигура.
С ClusterControl можете да разгръщате високодостъпни PostgreSQL бази данни. Управлението на вашия PostgreSQL е толкова лесно, колкото просто щракване върху менюто в таблото за управление. Има някои функции за администриране на вашия PostgreSQL от страна на клъстера, като Добавяне на Load Balancer, Добавяне на подчинен за репликация, Активиране/Деактивиране на възстановяване на клъстер и Възстановяване на възел, както е показано по-долу.
Можете също да създадете нов PostgreSQL клъстер и да го репликирате от клъстер, като използвате елемента от менюто Създаване на подчинен клъстер. Репликацията от клъстер към клъстер е нова функция, предоставена от ClusterControl.
От страната на възела има няколко административни задачи на базата данни, които можете да изпълнявате, като рестартиране на хост, рестартиране на възел, стоп възел, популяризиране на подчинен, спиране на подчинен. Можете да получите достъп до вашите хостове отдалечен чрез SSH конзола.
Rebuild Replication Slave е кокетна функция за автоматично коригиране на подчинени сървъри, които се счупиха отвъд ремонт. Той спира подчинения, изтрива съдържанието му и предава поточно ново архивиране от главния сървър. След като се приложи резервното копие, репликацията се възобновява, за да може отново да настигне главната. Всичко това само с едно щракване.
Има и функция за визуализиране на текущото състояние на вашата архитектура на топологията PostgreSQL в ClusterControl.
Той предоставя с бърз поглед полезна информация за текущия PostgreSQL клъстер, като като латентност между възлите, време на работа на базата данни, версия на базата данни, която използвате, състояние на синхронизация, забавяне на репликацията.
Можете също да промените конфигурацията, свързана с параметрите на базата данни и IP адреса на ACL, който има право на достъп до базата данни в менюто Конфигурация.
Изпълнението на среда на разпределена база данни обикновено изисква някакъв вид балансиране на натоварването и контрол на трафика , тъй като има множество екземпляри на база данни и приложенията няма да следят кой от тях е главен за запис и кои са подчинените само за четене. ClusterControl ви позволява да интегрирате HAProxy за тази цел. Самият HAProxy може да се направи високодостъпен чрез Keepalived, така че приложенията да могат да се свързват чрез един виртуален IP адрес, който се прехвърля към друг екземпляр, в случай че основният балансьор на натоварването на HAProxy изпадне.
ClusterControl има други функции, като оперативни отчети, които предоставят анализи за използване на сървъра, време за работа, сигурност и капацитет на седмична или месечна база. pgAdmin е страхотен в манипулирането на обекти в базата данни, докато ClusterControl е по-насочен към управлението на системата и поддържането й.