2012-01-24 29 views
36

Estoy tratando de obtener psql para formatear muy bien y estoy siguiendo los documentos here. En este momento, cada vez que hago una consulta en tablas con muchas columnas, no importa cuán grande sea mi pantalla, cada línea se desborda en la siguiente línea y produce una pantalla completa de basura ilegible.PostgreSQL comando de terminal psql

Los documentos (enlace arriba) dicen que hay una forma de alinear las columnas muy bien para una salida más legible.

Normalmente, para empezar psql, acabo Tipo:

psql

y pulsa Enter . Ahora estoy tratando:

psql \pset format aligned

Y conseguir un error:

could not change directory to "/root" 
psql: warning: extra command-line argument "aligned" ingored 
psql: FATAL: Indent authentication failed for user "format" 

alguna idea de cómo podría conseguir estos argumentos de línea de comandos para trabajar para mí?

+2

En Ubuntu 13/10: sudo -u postgres psql. Entonces \ c en el shell interactivo resultados en "Ahora estás conectado a la base de datos" postgres "como usuario" postgres ". – Timo

Respuesta

65

Estos no son argumentos de línea de comando. Ejecute psql. Administre para iniciar sesión en la base de datos (así que pase el nombre de host, el puerto, el usuario y la base de datos si es necesario). Y luego, escríbelo en el programa psql.

Ejemplo (a continuación son dos comandos, se el primero uno, pulse enter, espere a psql para iniciar la sesión, escribir el segundo):

psql -h host -p 5900 -U username database 
\pset format aligned 
+0

ten en cuenta la disposición de las palabras clave, intenta escribirlo en el mismo orden y funciona :) - Gracias querida – ImranNaqvi

5

Uso \x Ejemplo de manual de 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 
4
psql --pset=format=FORMAT 

Ideal para ejecutar consultas desde línea de comandos, por ejemplo

psql --pset=format=unaligned -c "select bandanavalue from bandana where bandanakey = 'atlassian.confluence.settings';" 
-3

Los pasos para conectar al servidor v9.3 PostgreSQL desde la línea de comandos windows-7 son los siguientes -

1. Go to the start --> All programs --> postgresql 9.3 --> Sql Shell (psql) 
2. Just enter the details requested by postgres server, I've shown log snippet from my CMD. 

(Nota: el usuario "postgres" será el superusuario para el servidor PostgreSQL, Pwd debe ser el que ingresó durante la instalación de postgresql)

Server [localhost]: localhost 
Database [postgres]: postgres 
Port [5432]: 5432 
Username [postgres]: postgres 
Password for user postgres: 
psql (9.3.5) 
WARNING: Console code page (437) differs from Windows code page (1252) 
     8-bit characters might not work correctly. See psql reference 
     page "Notes for Windows users" for details. 
Type "help" for help. 

postgres=# CREATE ROLE prateek LOGIN PASSWORD 'test_123' NOINHERIT CREATEDB; 
CREATE ROLE 
postgres=# 
Cuestiones relacionadas