PostgreSQL Pager gebruiken met 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.

Een speciale CLI-tool die ik vaak gebruik, is de mariadb SQL client (of mysql in de MySQL-wereld)—een CLI-programma dat wordt gebruikt om verbinding te maken met MariaDB-compatibele databases. Hiermee kunt u SQL-query’s en andere opdrachten naar de database server verzenden.

De MariaDB CLI-gebaseerde SQL-client

De mariadb SQL-client biedt diverse configuratieopties, waaronder de mogelijkheid om een terminal pager in te stellen. Als je bekend bent met Linux, heb je waarschijnlijk wel eens van de more en less pagers gehoord of ze gebruikt. Je kunt een pager instellen via de omgevingsvariabele PAGER en mariadb zal deze automatisch gebruiken. Of je kunt een pager alleen voor de huidige sessie instellen met behulp van de mariadb prompt. Bijvoorbeeld, om de less pager te gebruiken, voer je de volgende opdracht uit nadat je verbinding hebt gemaakt met de database:

MariaDB SQL

 

pager less

De volgende keer dat je een SQL query uitvoert, kun je door de resultatenreeks navigeren met de pijltoetsen op je toetsenbord.

Het instellen van een pager met behulp van de mariadb SQL-client

De less pager is handig, maar niet de beste voor SQL resultaten die als tabellen worden weergegeven. Er is een open-source tool genaamd pspg (zie de documentatie en broncode op GitHub), oorspronkelijk ontwikkeld voor PostgreSQL, maar die later ondersteuning heeft toegevoegd voor verschillende andere databases, waaronder MariaDB. Omdat de mariadb SQL-client in staat is verbinding te maken met MariaDB Xpand databases, heb ik het uitgeprobeerd en het werkte perfect. Blijf lezen om te ontdekken hoe je het kunt uitproberen.

De gemakkelijkste manier om een Xpand-database te starten is door een service te maken op SkySQL (het is gratis). Je kunt echter ook een lokale instantie draaien met Docker. Hier is de codefragment die je nodig hebt:

Shell

 

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

Databases zijn leuker als er data in zit. Een eenvoudig maar interessant demo-database is beschikbaar op deze website. Op Linux-achtige besturingssystemen, voer de volgende opdrachten uit (verander het IP-adres in de laatste opdracht als je Xpand-database ergens anders draait):

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

Vergeet niet pspg te installeren:

Shell

 

apt install pspg -y

Maak verbinding met de database met behulp van de mariadb SQL-client met een aangepaste en coolere prompt die “Xpand” toont:

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.

Verbinding maken met MariaDB Xpand met een aangepaste prompt

Stel de pspg pager in voor de huidige sessie:

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;

Niets nieuws om hier te zien.

De pspg pager wordt niet geactiveerd als er maar een paar rijen worden getoond

Probeer echter het volgende:

MariaDB SQL

 

select * from countries;

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

De pspg pager die gegevens weergeeft van MariaDB Xpand

U kunt zoeken naar een rij, sorteren, exporteren naar CSV, kolommen bevriezen, rijen markeren en zelfs de muis gebruiken om met het hulpmiddel te interageren, onder andere.

Sommige van de menu-opties in 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