Я вставил данные в таблицу.... Я хочу увидеть теперь целую таблицу со строками и столбцами и данными. Как я могу отобразить его с помощью команды?
psql -U username -d mydatabase -c 'SELECT * FROM mytable'
Если вы новичок в postgresql и не знакомы с использованием инструмента командной строки psql
, тогда возникает какое-то запутанное поведение, о котором вам следует знать, когда вы вступили в интерактивный сеанс.
Например, инициируйте интерактивный сеанс:
psql -U username mydatabase
mydatabase=#
В этот момент вы можете ввести запрос напрямую, но вы должны помнить о завершении запроса точкой с запятой ;
Например:
mydatabase=# SELECT * FROM mytable;
Если вы забудете точку с запятой, тогда, когда вы нажмете enter, вы ничего не получите в своей возвратной строке, потому что psql
будет считать, что вы еще не закончили ввод своего запроса. Это может привести ко всем путаницам. Например, если вы повторно вводите тот же запрос, скорее всего, вы создадите синтаксическую ошибку.
В качестве эксперимента попробуйте ввести какой-либо искатель, который вы хотите в командной строке psql, затем нажмите enter. psql
будет тихо предоставлять вам новую строку. Если вы вводите точку с запятой на этой новой строке и затем нажмите enter, вы получите сообщение ERROR:
mydatabase=# asdfs
mydatabase=# ;
ERROR: syntax error at or near "asdfs"
LINE 1: asdfs
^
Эмпирическое правило:
Если вы не получили ответа от psql
, но вы ожидали хотя бы ЧТО-ТО, тогда вы забыли точку с запятой ;
SELECT * FROM my_table
где my_table
- имя вашей таблицы.
EDIT:
psql -c "SELECT * FROM my_table"
или просто psql
, а затем введите ваши запросы.
psql -U username -c your_database "SELECT * FROM my_table"
--single-line
(или-s
), которая делает каждую команду незамедлительной без добавления точки с запятой.