我试图从bash文件执行一些postgres命令.
我试图通过编写以下行来删除模式
DROP SCHEMA "xxx" IF EXISTS
我这里有两个问题
>我不确定如何指定应从中删除架构的数据库
>我收到以下错误消息 – “DROP:command not found”
任何人都可以帮我解决这个问题吗?
您不能直接从bash脚本执行SQL语句.使用psql将命令发送到数据库服务器.如果要执行单个(或几个)SQL语句,则可以这样做
psql -d YOUR_DB_NAME -c "YOUR_SQL_STATEMENT"
确保您的SQL语句不包含引号或适当地转义它们.如果文件中有许多SQL语句,则可以像这样执行所有这些语句
psql -d YOUR_DB_NAME -f FILENAME
在上面的YOUR_DB_NAME中应该替换为您要执行的SQL语句的数据库名称YOUR_SQL_STATEMENT,而FILENAME是要执行的SQL语句的文件名.
如果需要指定额外参数(如username),请检查psql – ?显示的命令用法消息.
另请注意,DROP SCHEMA的语法不正确.它应该是
DROP SCHEMA IF EXISTS schema_name;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。