psql -U username -d mydatabase -c 'SELECT * FROM mytable'
Hvis du er ny til postgresql og ikke er bekendt med at bruge kommandolinjeværktøjet psql
så er der noget forvirrende adfærd, du skal være opmærksom på, når du er gået ind i en interaktiv session.
Start f.eks. en interaktiv session:
psql -U username mydatabase
mydatabase=#
På dette tidspunkt kan du indtaste en forespørgsel direkte, men du skal huske at afslutte forespørgslen med et semikolon ;
For eksempel:
mydatabase=# SELECT * FROM mytable;
Hvis du glemmer semikolon, vil du ikke få noget på din returlinje, når du trykker på Enter, fordi psql
vil antage, at du ikke er færdig med at indtaste din forespørgsel. Dette kan føre til alle former for forvirring. Hvis du f.eks. indtaster den samme forespørgsel igen, vil du højst sandsynligt have oprettet en syntaksfejl.
Som et eksperiment kan du prøve at skrive enhver forvanskning, du ønsker, ved psql-prompten og derefter trykke på enter. psql
vil lydløst give dig en ny linje. Hvis du indtaster et semikolon på den nye linje og derefter trykker på enter, vil du modtage FEJL:
mydatabase=# asdfs
mydatabase=# ;
ERROR: syntax error at or near "asdfs"
LINE 1: asdfs
^
Tommelfingerreglen er:Hvis du ikke har modtaget noget svar fra psql
men du forventede i det mindste NOGET, så glemte du semikolonet ;