PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Изпълнете заявки на PostgreSQL от командния ред

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 но очаквахте поне НЕЩО, тогава сте забравили точката и запетаята ;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Връзка не съществува

  2. Как да добавите условен уникален индекс към PostgreSQL

  3. Сравнение на типовете колони на базата данни в MySQL, PostgreSQL и SQLite? (Кръстосано картографиране)

  4. Тестове на Parallel Go, изпълнени срещу PostgreSQL база данни, работеща на Docker

  5. Защо заявката няма да запише в csv файл, докато изглежда нормално в конзолата на postgresql