Utilizzo del Pager PostgreSQL con 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.

Uno strumento CLI speciale che uso frequentemente è il mariadb SQL client (o mysql nel mondo di MySQL)—un programma CLI utilizzato per connettersi a database compatibili con MariaDB. Con esso, puoi inviare query SQL e altri comandi al server del database.

Il client SQL basato su CLI di MariaDB

Il client SQL mariadb ha diverse opzioni di configurazione, una delle quali è la possibilità di impostare un pager terminale. Se sei a conoscenza di Linux, probabilmente hai sentito parlare o usato i pager more e less. Puoi impostare un pager tramite la variabile d’ambiente PAGER e mariadb lo utilizzerà automaticamente. In alternativa, puoi impostare un pager solo per la sessione corrente utilizzando il prompt mariadb. Ad esempio, per utilizzare il pager less, esegui il seguente comando una volta che sei connesso al database:

MariaDB SQL

 

pager less

La prossima volta che eseguirai una query SQL, sarai in grado di navigare attraverso il set di risultati utilizzando le frecce sulla tua tastiera.

Impostazione di un pager utilizzando il client SQL mariadb

Il pager less è utile ma non è il migliore per insiemi di risultati SQL che vengono visualizzati come tabelle. C’è uno strumento open-source chiamato pspg (vedi la documentazione e il codice sorgente su GitHub), originariamente sviluppato per PostgreSQL ma che in seguito ha aggiunto supporto per diversi altri database, inclusa MariaDB. Poiché il client SQL mariadb è in grado di connettersi ai database MariaDB Xpand, ho deciso di provarlo, ed è funzionato alla perfezione. Continua a leggere per scoprire come provarlo.

Il modo più semplice per far funzionare un database Xpand è creare un servizio su SkySQL (è gratuito). Tuttavia, puoi anche eseguire un’istanza locale utilizzando Docker. Ecco lo snippet di cui hai bisogno:

Shell

 

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

I database sono più divertenti quando contengono dati. Un semplice ma interessante database dimostrativo è disponibile su questo sito web. Su sistemi operativi simili a Linux, esegui i seguenti comandi (cambia l’indirizzo IP nell’ultimo comando se il tuo database Xpand è in esecuzione da un altro posto):

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

Ricorda di installare pspg:

Shell

 

apt install pspg -y

Connettiti al database utilizzando il client SQL mariadb con un prompt personalizzato e più cool che 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.

Connessione a MariaDB Xpand tramite un prompt personalizzato

Imposta il pspg come pager per la sessione attuale:

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;

Niente di nuovo da vedere qui.

Il pspg pager non si attiverà se vengono mostrati solo pochi record

Tuttavia, prova quanto segue:

MariaDB SQL

 

select * from countries;

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

Il pspg pager che visualizza i dati da MariaDB Xpand

Puoi cercare una riga, ordinare, esportare in CSV, congelare colonne, marcare righe e persino utilizzare il mouse per interagire con lo strumento, tra le altre cose.

Alcune delle opzioni del menu 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