我正在尝试创建 bash 和 sql 文件来创建用户和数据库..
这是我到目前为止所做的事情..
Setup_postgres.sql
Create USER dummbyuser;
ALTER USER dummbyuser with superuser;
ALTER USER dummbyuser with LOGIN;
/q
Setup_postgres.sh
sudo su - postgress
psql -f setup_postgres.sql;
sh setup_postgres.sql
logout
我的问题[已解决]
我告诉bash运行Setup_postgres.sh,但它在
之后挂起
sudo su - postgres 行 setup_postgres.sql 根本不运行。
有人对我做错了什么有任何想法吗?
这是正确的方法吗?
我编写 bash 文件的经验很少。
脚本是否可以提示用户输入“dummbyuser”的名称
最佳答案
您正在使用 sudo su - postgres
为 postgres 用户启动一个新的登录 shell。从该 shell 退出后,脚本的其余部分将运行,但不具有 postgres 用户权限。
您可以像这样修改脚本以使其正常工作:
#!/bin/bash
sudo -iu postgres psql < setup_postgres.sql
这将以 postgres 用户权限运行指定的 psql 命令。
关于sql-server - 如何编写 bash 和 sql 文件来设置 postgres 用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26963334/