psql -U username -d mydatabase -c 'SELECT * FROM mytable'
Pokud s postgresql začínáte a neznáte používání nástroje příkazového řádku psql
pak je tu určité matoucí chování, kterého byste si měli být vědomi, když vstoupíte do interaktivní relace.
Spusťte například interaktivní relaci:
psql -U username mydatabase
mydatabase=#
V tomto okamžiku můžete zadat dotaz přímo, ale nezapomeňte jej ukončit středníkem ;
Například:
mydatabase=# SELECT * FROM mytable;
Pokud zapomenete středník, pak když stisknete Enter, nedostanete na návratovém řádku nic, protože psql
bude předpokládat, že jste nedokončili zadávání dotazu. To může vést k nejrůznějším zmatkům. Pokud například znovu zadáte stejný dotaz, pravděpodobně dojde k chybě syntaxe.
Jako experiment zkuste do příkazového řádku psql napsat jakoukoli zkomolení a poté stiskněte Enter. psql
vám tiše poskytne novou řadu. Pokud na nový řádek zadáte středník a poté stisknete Enter, zobrazí se ERROR:
mydatabase=# asdfs
mydatabase=# ;
ERROR: syntax error at or near "asdfs"
LINE 1: asdfs
^
Základní pravidlo zní:Pokud jste neobdrželi žádnou odpověď z psql
ale čekali jste alespoň NĚCO, pak jste zapomněli středník ;