我是PostgreSQL的新手,我被告知使用以下命令创建数据库:
createdb -U $USER --locale=en_US.utf-8 -E utf-8 -O $USER mangodb -T template0
但我收到错误" createdb:命令行参数太多(首先是template0)"。这个命令有什么问题?
答案 0 :(得分:0)
根据link,数据库名称(和可能的描述)是最后的。因此-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
而多余:连接用户默认为新数据库的所有者。