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 dos utilitários de linha de comando (CLI) que utilizo com frequência é o mariadb
SQL cliente (ou mysql
no mundo do MySQL) — um programa CLI usado para se conectar 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 você estiver familiarizado com o Linux, provavelmente já ouviu falar ou usou os pagers more
e less
. Você pode definir um pager através da variável de ambiente PAGER
e o mariadb
o utilizará 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:
pager less
Na próxima vez que executar uma consulta SQL, você poderá navegar pelo conjunto de resultados usando as teclas de seta do teclado.
Definindo um pager usando o cliente SQL mariadb
O leitor de páginas 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
(consulte a documentação e o código-fonte no GitHub), inicialmente desenvolvida para PostgreSQL, mas que posteriormente adicionou suporte a vários outros bancos de dados, incluindo MariaDB. Uma vez que 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 testá-lo.
A maneira mais fácil de obter um banco de dados Xpand em funcionamento é criando um serviço no SkySQL (é gratuito). No entanto, você também pode executar uma instância local usando Docker. Aqui está o trecho que você precisa:
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):
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 pspg
:
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”:
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:
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:
select * from continents;
Nada de novo para ver aqui.
O leitor de páginas pspg
não será ativado se apenas algumas linhas forem mostradas
No entanto, tente o seguinte:
select * from countries;
A navigable text-based interface allows you to explore the data more efficiently.
O leitor de páginas 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 no 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