Команда терминала psql PostgreSQL
Я пытаюсь получить psql
для форматирования, и я следую docs здесь. Прямо сейчас, всякий раз, когда я делаю запрос в таблицах с большим количеством столбцов, независимо от того, насколько сильно я делаю свой экран, каждая строка переполняется в следующую строку и создает целый экран нечитаемого мусора.
Документы (ссылка выше) говорят, что есть способ правильно выровнять столбцы для более читаемого вывода.
Обычно, чтобы начать psql
, я просто набираю:
PSQL
и нажмите Enter. Теперь я пытаюсь:
psql\pset format aligned
И получить сообщение об ошибке:
could not change directory to "/root"
psql: warning: extra command-line argument "aligned" ingored
psql: FATAL: Indent authentication failed for user "format"
Любые идеи относительно того, как я могу заставить эти аргументы командной строки работать для меня?
Ответы
Ответ 1
Это не аргументы командной строки. Запустите psql. Управляйте входом в базу данных (поэтому при необходимости передайте имя хоста, порт, пользователя и базу данных). А затем напишите в программе psql.
Пример (ниже приведены две команды, напишите первый, нажмите enter, дождитесь входа psql, напишите второй):
psql -h host -p 5900 -U username database
\pset format aligned
Ответ 2
Используйте \x
Пример из руководства 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
Ответ 3
psql --pset=format=FORMAT
Отлично подходит для выполнения запросов из командной строки, например
psql --pset=format=unaligned -c "select bandanavalue from bandana where bandanakey = 'atlassian.confluence.settings';"
Ответ 4
Действия по подключению к серверу postgresql v9.3 из командной строки Windows-7 следующие:
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.
(Примечание: пользователь postgres будет суперпользователем для сервера postgresql, Pwd должен быть тем, который вы ввели при установке 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=#