2014-12-24 70 views
2

任何角色名稱區分大小寫的人都是邪惡的。角色名稱在Postgres中區分大小寫

我殺了幾個小時,試圖找出爲什麼rake命令不能從Windows的DOS命令行工作。這個錯誤一直在說,當我完全清楚自己創造了這個角色時,'邁克爾'這個角色是不存在的。

添加侮辱傷害,psql命令-c「創建角色邁克爾...」創建角色好,但在所有小寫。

回答

1

我終於用pgAdmin的改變角色的大寫「M」,然後將第一個字母爲我的Windows用戶名被傳遞到各個過程我的所有命令的工作。

設計師 - 注意你在做什麼!角色名稱不區分大小寫。

+0

'然後我的所有命令都起作用,因爲我的Windows用戶名被傳遞到各個進程中。哪些進程? (它們是否使用某種ORM?) – wildplasser

+0

與postgres相關的命令,包括dropdb或rails命令,如rake db:drop,db:reset。 – vbsql7

+2

關鍵是:角色名稱遵循與表名或列名相同的大小寫邏輯。要強制區分大小寫匹配,您(或您的ORM邏輯)可以使用雙引號。通常,爲數據庫對象使用大小寫不重要的名稱被認爲是一個壞主意。特別是如果中間件(* somtines *)自動引用標識符。 – wildplasser

相關問題