2012-04-18 8 views
16

私はcreatedbで名前の真中にハイフンを持つデータベースを作成します。それが正常にデータベースを作成しますが、私はこのようなコマンドをしようとした場合psqlインタラクティブクライアント内で、私は構文エラーを取得:有効なPostgreSQLデータベース名は何ですか?

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

psqlは、またはその近くの構文エラーを訴える「 - 」

PostgreSQLの有効なデータベース名として何が書かれていますか?

ハイフンの代わりに下線を付ける必要がありますか?

答えて

11

は二重引用符でそれを入れてみてください:

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

+0

だから、データベース名にハイフンを入れて眉をひそめていないのですか? – dan

+3

私は個人的には考えていませんが、命名規則に関する議論は、スタック上の他の場所で十分に文書化されています。 –

1

私は1つの問題に直面し、上記の回答が私を助けました。したがって、dbnameの共有シナリオ

シナリオ:PG admin IIIを使用してデータベース名を変更しようとしました。私のデータベース名がMY_DATABASE

は、クエリの下に実行していたが失敗しました:

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

ALTER DATABASE 'My_Database' RENAME TO dba; 

は、私は以下の試み、その成功

ALTER DATABASE "My_Database" RENAME TO dba; 
関連する問題