Pull to refresh

Использование PostgreSQL Pager с MariaDB Xpand

Level of difficultyEasy
Reading time4 min
Views889
Original author: Alejandro Duarte

Узнайте, как использовать пейджер pspg с базами данных MariaDB для визуализации и эффективного взаимодействия с данными при выполнении задач DevOps.

Я не являюсь противником GUI. На самом деле, я написал три книги о разработке графического веб-интерфейса с помощью Java. Однако мне также нравится интерфейс командной строки (CLI), особенно текстовые пользовательские интерфейсы. 

После года изучения MariaDB и мира DevOps я открыл для себя и поэкспериментировал со многими текстовыми инструментами CLI, о существовании которых я даже не подозревал. Эти инструменты особенно полезны при подключении к удаленным серверам без графического интерфейса.

Одним из специальных инструментов CLI, который я часто использую, является SQL-клиент mariadb (или mysq в мире MySQL) — программа CLI, используемая для подключения к базам данных, совместимым с MariaDB. С ее помощью вы можете отправлять SQL-запросы и другие команды на сервер базы данных.

SQL-клиент MariaDB на основе CLI
SQL-клиент MariaDB на основе CLI

SQL-клиент mariadb имеет множество параметров конфигурации, одним из которых является возможность установки терминального пейджера. Если вы знакомы с Linux, вы наверняка слышали или использовали пейджеры more и less. Вы можете установить пейджер через переменную окружения PAGER и mariadb будете автоматически использовать его. Или вы можете установить пейджер только для текущего сеанса с помощью приглашения mariadb. Например, чтобы использовать пейджер less, выполните следующую команду после подключения к базе данных:

pager less

В следующий раз, когда вы запустите SQL-запрос, вы сможете перемещаться по набору результатов с помощью клавиш со стрелками на клавиатуре.

Установка пейджера с помощью SQL-клиента mariadb
Установка пейджера с помощью SQL-клиента mariadb

Пейджер 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;

Здесь нет ничего нового.

Пейджер pspg не активируется, если показано только несколько строк
Пейджер pspg не активируется, если показано только несколько строк

Однако попробуйте сделать следующее:

select * from countries;

Удобный для навигации текстовый интерфейс позволяет более эффективно исследовать данные.

Вы можете искать строку, упорядочивать, экспортировать в CSV, замораживать столбцы, помечать строки и даже использовать мышь для взаимодействия с инструментом, а также многое другое.

Некоторые пункты меню в pspg
Некоторые пункты меню в pspg

Надеюсь, что этот инструмент поможет вам в следующий раз, когда вам придется взаимодействовать с базой данных через SSH и командную строку. Более подробную информацию о том, как установить pspg в вашей операционной системе, параметрах конфигурации и документации вы можете найти в репозитории GitHub для проекта. 

Если вы хотите узнать больше о распределенном SQL и базе данных MariaDB Xpand, посмотрите это короткое видео, взгляните на это  техническое описание и изучите некоторые записи в блоге и документацию.

Tags:
Hubs:
Total votes 4: ↑4 and ↓0+4
Comments0

Articles