psql -U username -d mydatabase -c 'SELECT * FROM mytable'
Se non conosci Postgresql e non hai dimestichezza con l'utilizzo dello strumento da riga di comando psql
poi c'è un comportamento confuso di cui dovresti essere a conoscenza quando sei entrato in una sessione interattiva.
Ad esempio, avvia una sessione interattiva:
psql -U username mydatabase
mydatabase=#
A questo punto puoi inserire direttamente una query ma ricorda di terminare la query con un punto e virgola ;
Ad esempio:
mydatabase=# SELECT * FROM mytable;
Se dimentichi il punto e virgola, quando premi invio non otterrai nulla sulla riga di ritorno perché psql
presumerà che tu non abbia finito di inserire la tua query. Questo può portare a tutti i tipi di confusione. Ad esempio, se inserisci nuovamente la stessa query, molto probabilmente creerai un errore di sintassi.
Come esperimento, prova a digitare qualsiasi garble che desideri al prompt di psql, quindi premi invio. psql
ti fornirà silenziosamente una nuova linea. Se inserisci un punto e virgola su quella nuova riga e poi premi invio, riceverai l'ERRORE:
mydatabase=# asdfs
mydatabase=# ;
ERROR: syntax error at or near "asdfs"
LINE 1: asdfs
^
La regola pratica è:se non hai ricevuto risposta da psql
ma ti aspettavi almeno QUALCOSA, poi hai dimenticato il punto e virgola ;