Узнайте, как использовать пейджер pspg с базами данных MariaDB для визуализации и эффективного взаимодействия с данными при выполнении задач DevOps.
Я не являюсь противником GUI. На самом деле, я написал три книги о разработке графического веб-интерфейса с помощью Java. Однако мне также нравится интерфейс командной строки (CLI), особенно текстовые пользовательские интерфейсы.
После года изучения MariaDB и мира DevOps я открыл для себя и поэкспериментировал со многими текстовыми инструментами CLI, о существовании которых я даже не подозревал. Эти инструменты особенно полезны при подключении к удаленным серверам без графического интерфейса.
Одним из специальных инструментов CLI, который я часто использую, является SQL-клиент mariadb
(или mysq
в мире MySQL) — программа CLI, используемая для подключения к базам данных, совместимым с MariaDB. С ее помощью вы можете отправлять SQL-запросы и другие команды на сервер базы данных.
SQL-клиент mariadb
имеет множество параметров конфигурации, одним из которых является возможность установки терминального пейджера. Если вы знакомы с Linux, вы наверняка слышали или использовали пейджеры more
и less
. Вы можете установить пейджер через переменную окружения PAGER
и mariadb
будете автоматически использовать его. Или вы можете установить пейджер только для текущего сеанса с помощью приглашения mariadb
. Например, чтобы использовать пейджер less
, выполните следующую команду после подключения к базе данных:
pager less
В следующий раз, когда вы запустите SQL-запрос, вы сможете перемещаться по набору результатов с помощью клавиш со стрелками на клавиатуре.
Пейджер less
является полезным, но не лучшим для наборов результатов SQL, которые отображаются в виде таблиц. Существует инструмент с открытым исходным кодом pspg
(см. документацию и исходный код на GitHub), изначально разработанный для PostgreSQL, но позже добавивший поддержку нескольких других баз данных, включая MariaDB. Поскольку SQL-клиент mariadb
может подключаться к базам данных MariaDB Xpand, я попробовал его, и он отлично сработал. Продолжайте читать, чтобы узнать, как это можно попробовать.
Самый простой способ запустить базу данных Xpand — создать службу на SkySQL (это бесплатно). Однако вы также можете запустить локальный экземпляр с помощью Docker. Вот фрагмент кода, который вам нужен:
docker run --name xpand \
-d \
-p 3306:3306 \
--ulimit memlock=-1 \
mariadb/xpand-single
Базы данных интереснее, когда в них есть данные. Простая, но интересная демонстрационная база данных доступна на этом веб‑сайте. В Linux‑подобных операционных системах выполните следующие команды (измените IP‑адрес в последней команде, если ваша база данных Xpand запущена в другом месте):
sudo apt install curl -y
curl https://www.mariadbtutorial.com/wp-content/uploads/2019/10/nation.zip --output nation.zip
unzip nation.zip
mariadb -h 127.0.0.1 -u xpand < nation.sql
rm nation.zip nation.sql
Не забудьте установить pspg
:
apt install pspg -y
Подключитесь к базе данных с помощью SQL-клиента mariadb
с настраиваемым и более классным приглашением, в котором отображается «Xpand»:
mariadb -h 127.0.0.1 -u xpand --prompt="Xpand [\d]> " nation
Я узнал этот совет от своего коллеги Патрика Боссмана (менеджер по продуктам в MariaDB) во время вебинара по MariaDB Xpand + Docker. Рекомендую посмотреть его, если хотите узнать больше.
Установите пейджер pspg
для текущего сеанса:
pager pspg -s 14 -X --force-uniborder --quit-if-one-screen
Приятной особенностью pspg
является то, что он показывает затейливый текстовый пользовательский интерфейс только тогда, когда это имеет смысл (--quit-if-one-screen
).
Так что, если ваш запрос возвращает только несколько строк, которые помещаются на экране, он просто покажет их прямо на экране, как обычно. Например, попробуйте выполнить следующий запрос:
select * from continents;
Здесь нет ничего нового.
Однако попробуйте сделать следующее:
select * from countries;
Удобный для навигации текстовый интерфейс позволяет более эффективно исследовать данные.
Вы можете искать строку, упорядочивать, экспортировать в CSV, замораживать столбцы, помечать строки и даже использовать мышь для взаимодействия с инструментом, а также многое другое.
Надеюсь, что этот инструмент поможет вам в следующий раз, когда вам придется взаимодействовать с базой данных через SSH и командную строку. Более подробную информацию о том, как установить pspg
в вашей операционной системе, параметрах конфигурации и документации вы можете найти в репозитории GitHub для проекта.
Если вы хотите узнать больше о распределенном SQL и базе данных MariaDB Xpand, посмотрите это короткое видео, взгляните на это техническое описание и изучите некоторые записи в блоге и документацию.