我是PostgreSQL新手,我被告知要用以下命令创建一个数据库:
createdb -U $USER --locale=en_US.utf-8 -E utf-8 -O $USER mangodb -T template0
但我得到了错误“createdb:命令行参数太多(第一个是template0)”。这个命令怎么了?
最佳答案
根据documentation数据库名称(和可能的描述)排在最后。因此-T template0
必须出现在mangodb
数据库名称之前:
createdb -U $USER --locale=en_US.utf-8 -E utf-8 -T template0 mangodb
仅当
-T template0
具有template1
以外的编码时,才需要选项utf-8
。否则,您可能应该省略该选项,以便使用template1
这比template0
更有用,因为它加载了更多扩展和其他特定于站点的数据。还要注意,
-O $USER
是多余的,因为-U $USER
:默认情况下,连接的用户是新数据库的所有者。