2012-04-18 48 views
16

Creo una base de datos con un guion en medio del nombre con createdb. Eso crea con éxito la base de datos, pero dentro del cliente interactivo psql, me sale un error de sintaxis si intento un comando como este:¿Qué es un nombre de base de datos PostgreSQL válido?

ALTER DATABASE my-database SET SCHEMA = myschema,public;

psql se queja de un error de sintaxis en o cerca "-"

¿Hay alguna documentación para lo que cuenta como un nombre de base de datos PostgreSQL válido?

¿Debo resaltar en lugar de guiones?

Respuesta

11

trate de poner entre comillas dobles:

ALTER DATABASE "my-database" SET SCHEMA = myschema,public;

+0

así que no es mal visto poner guiones en los nombres de bases de datos? – dan

+3

No lo haría personalmente, pero el debate sobre las convenciones de nombres está bien documentado en otras partes de la pila. –

1

Me enfrenté a un problema y las respuestas anteriores me ayudaron. Así que compartiendo escenario en dbname

Escenario: Se intentó cambiar el nombre de la base de datos utilizando PG admin III. Mi nombre de la base se MY_DATABASE

funcionando por debajo de consultas erróneas:

ALTER DATABASE My_Database RENAME TO dba; 
ALTER DATABASE [My_Database] RENAME TO dba; 

ALTER DATABASE 'My_Database' RENAME TO dba; 

Luego probé a continuación y su exitosa

ALTER DATABASE "My_Database" RENAME TO dba; 
Cuestiones relacionadas