43

名前の途中にハイフンを付けてデータベースを作成しますcreatedb. これでデータベースは正常に作成されますが、psqlインタラクティブ クライアント内で次のようなコマンドを実行すると、構文エラーが発生します。

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

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

有効な PostgreSQL データベース名としてカウントされるものに関するドキュメントはありますか?

ハイフンの代わりにアンダースコアを使用する必要がありますか?

4

3 に答える 3

38

あなたが尋ねたドキュメントはここにあります:

http://www.postgresql.org/docs/current/interactive/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS

ほとんどの人は、常に引用符を入力することを避けるために、小文字、数字、およびアンダースコアに固執しています。

于 2012-04-18T20:22:45.853 に答える
30

二重引用符で囲んでみてください。

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

于 2012-04-18T19:45:49.010 に答える
3

私は1つの問題に直面し、上記の回答が役に立ちました。したがって、データベース名でシナリオを共有する

シナリオ: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;
于 2016-03-02T12:42:36.293 に答える