我正在尝试从 bash 文件执行一些 postgres 命令。
我正在尝试通过编写以下行来删除架构
DROP SCHEMA "xxx" IF EXISTS
Run Code Online (Sandbox Code Playgroud)
我这里有两个问题
我不确定如何指定应从中删除架构的数据库
我收到以下错误消息——“DROP: command not found”
谁能帮我解决这个问题?
Ada*_*man 10
您不能直接从 bash 脚本执行 SQL 语句。用于psql
向数据库服务器发送命令。如果您有一个(或几个)SQL 语句要执行,您可以这样做
psql -d YOUR_DB_NAME -c "YOUR_SQL_STATEMENT"
Run Code Online (Sandbox Code Playgroud)
确保您的 SQL 语句不包含引号或适当地将它们转义。如果你在一个文件中有很多 SQL 语句,你可以像这样执行它们
psql -d YOUR_DB_NAME -f FILENAME
Run Code Online (Sandbox Code Playgroud)
上面的YOUR_DB_NAME应该是你的数据库名,YOUR_SQL_STATEMENT是你要执行的SQL语句,FILENAME是要执行的SQL语句的文件名。
如果您需要指定用户名等额外参数,请检查显示的命令的使用消息psql -?
。
另请注意,您的语法DROP SCHEMA
不正确。它应该是
DROP SCHEMA IF EXISTS schema_name;
Run Code Online (Sandbox Code Playgroud)
另请参阅此文档。
归档时间: |
|
查看次数: |
12789 次 |
最近记录: |