Usando o Pager do PostgreSQL com o 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.

Um utilitário de linha de comando especial que utilizo com frequência é o mariadb SQL cliente (ou mysql no mundo do MySQL) — um programa de CLI usado para conectar-se a bancos de dados compatíveis com MariaDB. Com ele, você pode enviar consultas SQL e outros comandos ao servidor de banco de dados.

O cliente SQL baseado em CLI do MariaDB

O cliente SQL mariadb possui várias opções de configuração, uma das quais é a possibilidade de definir um pager de terminal. Se estiver familiarizado com Linux, provavelmente já ouviu falar ou utilizou os pagers more e less. Você pode definir um pager através da variável de ambiente PAGER e o mariadb irá utilizá-lo automaticamente. Alternativamente, você pode definir um pager apenas para a sessão atual usando o prompt do mariadb. Por exemplo, para usar o pager less, execute o seguinte comando assim que estiver conectado ao banco de dados:

MariaDB SQL

 

pager less

A próxima vez que você executar uma consulta SQL, poderá navegar pelo conjunto de resultados usando as teclas de seta no seu teclado.

Definindo um pager usando o cliente SQL mariadb

O leitor de página less é útil, mas não é o melhor para conjuntos de resultados SQL que são mostrados como tabelas. Existe uma ferramenta de código aberto chamada pspg (veja a documentação e o código-fonte no GitHub), inicialmente desenvolvida para o PostgreSQL, mas que posteriormente adicionou suporte para vários outros bancos de dados, incluindo o MariaDB. Como o cliente SQL mariadb é capaz de se conectar a bancos de dados MariaDB Xpand, decidi experimentá-lo e funcionou perfeitamente. Continue lendo para descobrir como experimentá-lo.

A maneira mais fácil de obter um banco de dados Xpand funcionando é criando um serviço no SkySQL (é grátis). No entanto, você também pode executar uma instância local usando Docker. Aqui está o trecho que você precisa:

Shell

 

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

Os bancos de dados são mais divertidos quando há dados neles. Um banco de dados de demonstração simples, mas interessante, está disponível no site. Em sistemas operacionais semelhantes ao Linux, execute os seguintes comandos (mude o endereço IP no último comando se seu banco de dados Xpand estiver rodando em outro lugar):

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

Lembre-se de instalar o pspg:

Shell

 

apt install pspg -y

Conecte-se ao banco de dados usando o cliente SQL mariadb com um prompt personalizado e mais legal que mostra “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.

Conectando ao MariaDB Xpand usando um prompt personalizado

Defina o pspg como o leitor de páginas para a sessão atual:

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;

Nada de novo para ver aqui.

O pspg não será ativado se apenas algumas linhas forem mostradas

No entanto, tente o seguinte:

MariaDB SQL

 

select * from countries;

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

O pspg renderizando dados do MariaDB Xpand

Você pode pesquisar por uma linha, ordenar, exportar para CSV, congelar colunas, marcar linhas e até usar o mouse para interagir com a ferramenta, entre outras coisas.

Algumas das opções de menu em 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