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:
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:
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):
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:
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:
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:
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;
Niets nieuws om hier te zien.
De pspg
pager wordt niet geactiveerd als er maar een paar rijen worden getoond
Probeer echter het volgende:
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