J'essaie d'obtenir que psql
soit correctement formaté et que je suive la documentation ici . À l'heure actuelle, chaque fois que je fais une requête sur des tables avec beaucoup de colonnes, quelle que soit la taille de mon écran, chaque ligne déborde sur la ligne suivante et génère un écran complet avec des fichiers illisibles.
La documentation (lien ci-dessus) indique qu'il existe un moyen d'aligner correctement les colonnes pour une sortie plus lisible.
Normalement, pour commencer psql
, je tape simplement:
psql
et appuyez sur . Entrez . Maintenant j'essaye:
psql\pset format aligné
Et avoir une erreur:
could not change directory to "/root"
psql: warning: extra command-line argument "aligned" ingored
psql: FATAL: Indent authentication failed for user "format"
Des idées sur la manière dont je pourrais obtenir que ces arguments de ligne de commande fonctionnent pour moi?
Ce ne sont pas des arguments en ligne de commande. Exécutez psql. Gérez pour vous connecter à la base de données (transmettez donc le nom d'hôte, le port, l'utilisateur et la base de données si nécessaire). Et puis écrivez-le dans le programme psql.
Exemple (ci-dessous deux commandes, écrivez la première, appuyez sur Entrée, attendez que psql se connecte, écrivez la seconde):
psql -h Host -p 5900 -U username database
\pset format aligned
Utilisation \x
Exemple tiré du manuel postgres:
postgres=# \x
postgres=# SELECT * FROM pg_stat_statements ORDER BY total_time DESC LIMIT 3;
-[ RECORD 1 ]------------------------------------------------------------
userid | 10
dbid | 63781
query | UPDATE branches SET bbalance = bbalance + $1 WHERE bid = $2;
calls | 3000
total_time | 20.716706
rows | 3000
-[ RECORD 2 ]------------------------------------------------------------
userid | 10
dbid | 63781
query | UPDATE tellers SET tbalance = tbalance + $1 WHERE tid = $2;
calls | 3000
total_time | 17.1107649999999
rows | 3000
-[ RECORD 3 ]------------------------------------------------------------
userid | 10
dbid | 63781
query | UPDATE accounts SET abalance = abalance + $1 WHERE aid = $2;
calls | 3000
total_time | 0.645601
rows | 3000
psql --pset=format=FORMAT
Idéal pour exécuter des requêtes à partir de la ligne de commande, par exemple.
psql --pset=format=unaligned -c "select bandanavalue from bandana where bandanakey = 'atlassian.confluence.settings';"