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

I’m not an anti-GUI person. In fact, I wrote three books about web GUI development with Java. However, I also like the command-line interface (CLI), especially text-based UIs. After a year of exploring MariaDB and the DevOps world, I got to discover and play with many text-based CLI tools that I didn’t know even existed. These tools are especially useful when connecting to remote servers that don’t have a GUI.

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

CLI-клиент SQL MariaDB

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

MariaDB SQL

 

pager less

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

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

Pager less полезен, однако не лучший выбор для результатов SQL, представленных в виде таблиц. Существует открытый исходный инструмент под названием pspg (см. документацию и исходный код на GitHub), изначально разработанный для PostgreSQL, но впоследствии добавивший поддержку нескольких других баз данных, включая MariaDB. Так как клиент SQL mariadb способен подключаться к базам данных MariaDB Xpand, я решил попробовать, и все заработало безупречно. Продолжайте читать, чтобы узнать, как это можно попробовать.

Самый простой способ запустить базу данных Xpand — создать сервис на SkySQL (это бесплатно). Тем не менее, вы также можете запустить локальную инстанцию с помощью Docker. Вот фрагмент, который вам нужен:

Shell

 

docker run --name xpand \
  -d \
  -p 3306:3306 \
  --ulimit memlock=-1 \
  mariadb/xpand-single

Базы данных становятся интереснее, когда в них есть данные. Простой, но интересный демонстрационный набор данных доступен на этом сайте. На операционных системах, похожих на Linux, выполните следующие команды (измените IP-адрес в последвой команде, если ваша база данных Xpand работает в другом месте):

Shell

 

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:

Shell

 

apt install pspg -y

Подключитесь к базе данных с помощью клиента SQL mariadb с настраиваемым и более крутым приглашением, которое показывает “Xpand”:

Shell

 

mariadb -h 127.0.0.1 -u xpand --prompt="Xpand [\d]> " nation

I learned this tip from my colleague Patrick Bossman (Product Manager at MariaDB) during a webinar on MariaDB Xpand + Docker. I recommend watching it if you want to learn more.

Подключение к MariaDB Xpand с использованием пользовательской командной строки

Установите pspg в качестве пагера для текущей сессии:

MariaDB SQL

 

pager pspg -s 14 -X --force-uniborder --quit-if-one-screen

A nice feature in pspg is that it shows the fancy text-based UI only when it makes sense (--quit-if-one-screen). So if your query returns only a few rows that fit in the screen, it will just show them right there on the screen as usual. For example, try running the following query:

MariaDB SQL

 

select * from continents;

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

Пагера pspg не будет активироваться, если отображается только несколько строк

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

MariaDB SQL

 

select * from countries;

A navigable text-based interface allows you to explore the data more efficiently.

Отображение данных из MariaDB Xpand с помощью пагера pspg

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

Некоторые из меню в pspg

I hope this tool helps you the next time you have to interact with a database via SSH and the command line. You can find more information about how to install pspg on your operating system, configuration options, and documentation on the GitHub repository for the project. If you want to learn more about distributed SQL and the MariaDB Xpand database, watch this short video, take a look at this datasheet, and explore some of the blog posts and documentation.

Source:
https://dzone.com/articles/using-the-postgressql-pager-with-mariadb-xpand