sql >> Base de Datos >  >> RDS >> PostgreSQL

Ejecute consultas de PostgreSQL desde la línea de comandos

psql -U username -d mydatabase -c 'SELECT * FROM mytable'

Si es nuevo en postgresql y no está familiarizado con el uso de la herramienta de línea de comandos psql entonces hay un comportamiento confuso que debe tener en cuenta cuando ingresa a una sesión interactiva.

Por ejemplo, inicie una sesión interactiva:

psql -U username mydatabase 
mydatabase=#

En este punto, puede ingresar una consulta directamente pero debe recordar terminar la consulta con un punto y coma ;

Por ejemplo:

mydatabase=# SELECT * FROM mytable;

Si olvida el punto y coma, cuando presione Intro no obtendrá nada en su línea de retorno porque psql estará suponiendo que no ha terminado de ingresar su consulta. Esto puede dar lugar a todo tipo de confusiones. Por ejemplo, si vuelve a ingresar la misma consulta, lo más probable es que haya creado un error de sintaxis.

Como experimento, intente escribir cualquier confusión que desee en el indicador de psql y luego presione Intro. psql le proporcionará silenciosamente una nueva línea. Si ingresa un punto y coma en esa nueva línea y luego presiona enter, recibirá el ERROR:

mydatabase=# asdfs 
mydatabase=# ;  
ERROR:  syntax error at or near "asdfs"
LINE 1: asdfs
    ^

La regla general es:si no recibió respuesta de psql pero esperabas al menos ALGO, entonces olvidaste el punto y coma ;