3.3.1. Expresiones y variables

El cliente psql dispone de multitud de prestaciones avanzadas; entre ellas (como ya hemos comentado), el soporte para sustitución de variables similar al de los shells de Unix:


demo=>\set var1 demostracion

Esta sentencia crea la variable ‘var1’ y le asigna el valor ‘demostración’. Para recuperar el valor de la variable, simplemente deberemos incluirla precedida de ‘:’ en cualquier sentencia o bien ver su valor mediante la orden ‘echo’:



demo=# \echo :var1 demostracion demo-#

De la misma forma, psql define algunas variables especiales que pueden ser útiles para conocer detalles del servidor al que estamos conectados:


demo=# \echo :DBNAME :ENCODING :HOST :PORT :USER; demo LATIN9 localhost 5432 postgres demo=#

El uso de variables puede ayudar en la ejecución de sentencias SQL:


demo=> \set var2 `mi_tabla´ demo=> SELECT * FROM :var2;

Se debe ser muy cuidadoso con el uso de las comillas y también es importante tener en cuenta que dentro de cadenas de caracteres no se sustituyen variables.