psql покажите мне: и запросите ввод пользователя при запуске одного sql файла - PullRequest
2 голосов
/ 05 апреля 2020

Я создал одну новую базу данных, затем я использую psql для запуска этого sql файла (https://github.com/Arelle/Arelle/blob/master/arelle/plugin/xbrlDB/sql/public/xbrlPublicPostgresDB.ddl), вот моя команда:

/usr/bin/psql postgresql://db_user:db_password@localhost:5432/my_new_db -f /tmp/xbrlPublicPostgresDB.ddl

psql покажите мне :, который просит меня что-то ввести.

Я проверил xbrlPublicPostgresDB.ddl, который не запрашивает ввод данных пользователем. почему psql запрашивает ввод пользователя?

Ответы [ 2 ]

1 голос
/ 05 апреля 2020

Это двоеточие : не запрашивает ввод пользователя. Это из пейджера less. По умолчанию, когда psql выводит что-то большее, чем определенное количество строк за раз, он "разбивает" на страницы с less. Вы можете увидеть то же самое, запустив

cat /tmp/xbrlPublicPostgresDB.ddl | less

Вы можете использовать клавиши со стрелками, страницу вверх, страницу вниз, j , k и другие клавиши для перемещения вокруг и посмотреть все на выходе. Чтобы выйти, нажмите q .

Разбиение отдельных запросов на страницы не имеет большого смысла для выполняемой работы, поэтому вы можете полностью отключить разбиение на страницы при запуске psql, установив среду переменная PAGER в пустую строку:

PAGER= psql dbname -f xbrlPublicPostgresDB.ddl
0 голосов
/ 07 апреля 2020

Я обнаружил, что следующий параметр может остановить эту нумерацию страниц, поэтому мне не нужно вводить какую-либо клавишу для продолжения. -P пейджер = выкл

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...