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, ще получите ГРЕШКАТА:
mydatabase=# asdfs
mydatabase=# ;
ERROR: syntax error at or near "asdfs"
LINE 1: asdfs
^
Основното правило е:Ако не сте получили отговор от psql
но очаквахте поне НЕЩО, тогава сте забравили точката и запетаята ;