我需要为这个命令输入两次密码

createuser -h localhost -P -p 5432 -s -d -r -e postgres

我试过了
createuser -h localhost -P -p 5432 -s -d -r -e postgres < temp.txt

其中temp.txt包含
密码
密码
它仍然要求输入密码
有什么建议吗?

最佳答案

createuser程序可能自己连接到终端,而不是从标准输入中读取,这是涉及密码的常见行为。使用SQLCREATE ROLE而不是createuser可能会有更好的运气:

echo "CREATE ROLE postgres CREATEROLE CREATEDB SUPERUSER PASSWORD 'password';" \
    | psql -h localhost -p 5432 databasename

其中“database name”是数据库的名称。
fine manual开始:
createuser是SQL命令CREATE角色的包装器。通过此实用程序创建用户与通过其他方法访问服务器之间没有有效的区别。

关于postgresql - 从文件输入批处理文件问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5893056/

10-15 05:31