我使用createdb
的名稱中間的連字符創建數據庫。成功地創建數據庫,但是psql
交互式客戶端中,我得到一個語法錯誤,如果我嘗試這樣的命令:什麼是有效的PostgreSQL數據庫名稱?
ALTER DATABASE my-database SET SCHEMA = myschema,public;
psql
達到或接近抱怨語法錯誤的「 - 」
有什麼文檔可以作爲有效的PostgreSQL數據庫名稱?
我應該只是強調而不是連字符?
我使用createdb
的名稱中間的連字符創建數據庫。成功地創建數據庫,但是psql
交互式客戶端中,我得到一個語法錯誤,如果我嘗試這樣的命令:什麼是有效的PostgreSQL數據庫名稱?
ALTER DATABASE my-database SET SCHEMA = myschema,public;
psql
達到或接近抱怨語法錯誤的「 - 」
有什麼文檔可以作爲有效的PostgreSQL數據庫名稱?
我應該只是強調而不是連字符?
嘗試把它用雙引號:
ALTER DATABASE "my-database" SET SCHEMA = myschema,public;
你問的文檔是在這裏:
http://www.postgresql.org/docs/current/interactive/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS
大多數人只是把小寫字母,數字數字和下劃線 - 避免始終輸入引號。
我遇到了一個問題,以上的答案幫助了我。因此在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;
所以它不是不贊成把數據庫的名字連字符? – dan 2012-04-18 19:47:05
我個人不會,但關於命名約定的爭論在其他地方有很好的記載。 – 2012-04-18 19:49:49