psql -U username -d mydatabase -c 'SELECT * FROM mytable'
Als postgresql nieuw voor u is en niet bekend is met het gebruik van de opdrachtregeltool psql
dan is er wat verwarrend gedrag waar je op moet letten als je een interactieve sessie bent binnengegaan.
Start bijvoorbeeld een interactieve sessie:
psql -U username mydatabase
mydatabase=#
Op dit punt kunt u rechtstreeks een zoekopdracht invoeren, maar u moet niet vergeten de zoekopdracht te beëindigen met een puntkomma ;
Bijvoorbeeld:
mydatabase=# SELECT * FROM mytable;
Als u de puntkomma vergeet, krijgt u niets op uw retourregel als u op enter drukt omdat psql
gaat ervan uit dat u nog niet klaar bent met het invoeren van uw zoekopdracht. Dit kan tot allerlei verwarring leiden. Als u bijvoorbeeld dezelfde zoekopdracht opnieuw invoert, heeft u hoogstwaarschijnlijk een syntaxisfout gemaakt.
Probeer als experiment een willekeurig onleesbaar bericht te typen bij de psql-prompt en druk vervolgens op enter. psql
zal u stilletjes voorzien van een nieuwe regel. Als u een puntkomma op die nieuwe regel invoert en vervolgens op enter drukt, ontvangt u de FOUT:
mydatabase=# asdfs
mydatabase=# ;
ERROR: syntax error at or near "asdfs"
LINE 1: asdfs
^
De vuistregel is:Als je geen reactie hebt ontvangen van psql
maar je verwachtte tenminste IETS, dan vergat je de puntkomma ;