Verwenden des PostgreSQL-Pagers mit 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.

Eine besondere CLI-Anwendung, die ich häufig verwende, ist der mariadb SQL Client (oder mysql im MySQL-Umfeld) – ein CL-Programm zum Herstellen einer Verbindung zu MariaDB-kompatiblen Datenbanken. Damit können Sie SQL-Abfragen und andere Befehle an den Datenbankserver senden.

Der MariaDB-CLI-basierte SQL-Client

Der mariadb SQL-Client verfügt über mehrere Konfigurationsoptionen, darunter die Möglichkeit, einen Terminal-Pager festzulegen. Wenn Sie mit Linux vertraut sind, haben Sie wahrscheinlich die Pager more und less gehört oder verwendet. Sie können einen Pager über die Umgebungsvariable PAGER festlegen, und mariadb wird diesen automatisch verwenden. Alternativ können Sie einen Pager nur für die aktuelle Sitzung über die mariadb-Eingabeaufforderung festlegen. Um beispielsweise den less-Pager zu verwenden, führen Sie den folgenden Befehl aus, sobald Sie eine Verbindung zur Datenbank hergestellt haben:

MariaDB SQL

 

pager less

Beim nächsten Ausführen einer SQL-Abfrage können Sie sich mithilfe der Pfeiltasten auf Ihrer Tastatur durch die Ergebnismenge navigieren.

Festlegen eines Pagers mit dem mariadb SQL-Client

Der less-Pager ist nützlich, aber nicht der beste für SQL-Ergebnismengen, die als Tabellen dargestellt werden. Es gibt ein Open-Source-Tool namens pspg (siehe die Dokumentation und den Quellcode auf GitHub), ursprünglich für PostgreSQL entwickelt, das später Unterstützung für mehrere andere Datenbanken hinzugefügt hat, einschließlich MariaDB. Da der mariadb SQL-Client in der Lage ist, eine Verbindung zu MariaDB Xpand-Datenbanken herzustellen, habe ich es ausprobiert und es hat einwandfrei funktioniert. Lesen Sie weiter, um zu erfahren, wie Sie es ausprobieren können.

Der einfachste Weg, eine Xpand-Datenbank zum Laufen zu bringen, ist die Erstellung eines Dienstes auf SkySQL (es ist kostenlos). Sie können jedoch auch eine lokale Instanz mit Docker ausführen. Hier ist der erforderliche Codeausschnitt:

Shell

 

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

Datenbanken sind spaßiger, wenn sie Daten enthalten. Ein einfaches aber interessantes Demo-Datenbank ist auf dieser Website verfügbar. Auf Linux-ähnlichen Betriebssystemen führen Sie die folgenden Befehle aus (ändern Sie die IP-Adresse im letzten Befehl, wenn Ihre Xpand-Datenbank woanders läuft):

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

Denken Sie daran, pspg zu installieren:

Shell

 

apt install pspg -y

Stellen Sie eine Verbindung zur Datenbank her, indem Sie den mariadb SQL-Client mit einer benutzerdefinierten und cooler Prompt-Zeile verwenden, die “Xpand” anzeigt:

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.

Verbindung zu MariaDB Xpand über einen benutzerdefinierten Prompt herstellen

Setzen Sie den pspg Pager für die aktuelle Sitzung:

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;

Hier gibt es nichts Neues zu sehen.

Der pspg Pager wird nicht aktiviert, wenn nur wenige Zeilen angezeigt werden

Probieren Sie jedoch Folgendes aus:

MariaDB SQL

 

select * from countries;

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

Der pspg Pager, der Daten von MariaDB Xpand rendert

Sie können nach einer Zeile suchen, sortieren, in CSV exportieren, Spalten einfrieren, Zeilen markieren und sogar mit der Maus mit dem Tool interagieren, unter anderem.

Einige der Menüoptionen 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