2010-10-15 15 views
32

J'essaye de renommer une base de données en un nom avec un trait d'union (-).Quelle est la séquence d'échappement pour le trait d'union (-) dans PostgreSQL

ALTER DATABASE one RENAME TO one-two; 

Et psql renvoie une erreur:

ERROR: syntax error at or near "-" 

Que dois-je utiliser comme une séquence d'échappement pour caractère « - » ou ce qui est la façon de faire ce qui précède?

Remarque: J'ai essayé le '\ -' et cela n'a pas fonctionné.

Merci.

+0

Y a-t-il une raison pour laquelle vous utilisez un trait d'union à la place d'un trait de soulignement? –

+2

Oui Bruce, je travaille avec un système qui est déjà créé et maintenu depuis quelques années. Et ce changement de nom devait être fait pour être en ligne avec les autres conventions de nommage de base de données pour ce système. :-) –

Répondre

44

Les guillemets doubles devraient le faire. Mais vous devrez toujours utiliser l'attribut quoted partout où vous faites référence à la base de données.

ALTER DATABASE one RENAME TO "one-two"; 
+0

Cela a fonctionné. Merci Joe. –