postgresql - minusculas - ¿Cómo soltar/crear el nombre de la base de datos que tiene mayúscula?
trim en postgresql (1)
Los identificadores de SQL que distinguen entre mayúsculas y minúsculas deben incluirse entre comillas dobles:
DROP DATABASE "Ajp";
Sin embargo, no estoy seguro de si se conservan correctamente en Windows si los pasa a través de la línea de comandos.
Es posible que necesite poner eso en un script SQL y pasar el nombre del script a psql.
Para obtener detalles sobre identificadores válidos, consulte el manual: http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS
por ejemplo, mi nombre de base de datos Postgresql
es Ajp
No puedo soltar / crear la base de datos con este nombre, es decir. Ajp
mis guiones para soltar es
cd /D D://Apps
cd RSTAR PGSQL DOTCONNECT
cd bin
cd Debug
cd PG
psql -U postgres -d postgres -c "DROP DATABASE Ajp "
Mientras ejecutaba esto recibí este error
D: / Apps / RSTAR PGSQL DOTCONNECT / bin / Debug / PG> psql -U postgres -d postgres -c "DR OP DATABASE Ajp" ERROR: la base de datos "ajp" no existe
psql -U postgres -d postgres -c "DROP DATABASE ''Ajp'' "
(nombre de la base de datos entre comillas)
otra vez tengo error
ERROR: error de sintaxis en o cerca de "''Ajp''" LÍNEA 1: BASE DE DATOS DE LA GOTA ''Ajp''
¿Cómo solucionar este problema? (por favor no comente que change your dbname to lower-case
)
using : "PostgreSQL 9.2.4, compiled by Visual C++ build 1600, 32-bit"
La solución para este problema está abajo.
- Debería usar carácter de escape
psql -U postgres -d postgres -c "DROP DATABASE /"Ajp/";"
ver el comentario a continuación