我需要为这个命令输入两次密码
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/