2012-04-18 18 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 2012-04-18 19:47:05

+3

我個人不會,但關於命名約定的爭論在其他地方有很好的記載。 – 2012-04-18 19:49:49

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; 
相關問題