web-dev-qa-db-fra.com

Commande de terminal PostgreSQL psql

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?

45
IAmYourFaja

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
87
Szymon Lipiński

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
6
n0nSmoker
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';"
4
Nowaker