gpt4 book ai didi

postgresql - 一个 sql 脚本是只被 PostgreSQL 服务器接受,还是被服务器和客户端 psql 接受?

转载 作者:行者123 更新时间:2023-11-29 13:14:27 25 4
gpt4 key购买 nike

sql 脚本是仅可由 RDBMS(如 PostgreSQL 服务器)解释,还是可由服务器和客户端(如 psql)解释?服务器可以接受 SQL 脚本文件,还是只有客户端可以?

我的问题来自于了解到在 psql 中,\i 可用于读取和执行 sql 脚本。但是,如果 Postgresql 服务器可以接受一个 sql 脚本,我该如何将脚本提供给服务器?

写sql脚本时,怎么写注释? # 是否仍用于表示注释?

我需要提供 shebang 吗?如果是,那么有一个 shebang 是不是一个好主意?

谢谢。

我正在尝试放置 https://stackoverflow.com/a/771880/156458放入 sql 脚本中,以便我可以重用它。

最佳答案

与许多 SQL shell 一样,psql对 Postgres 语法有基本的了解。这允许它识别语句的结尾并将其转发给服务器以供执行。许多客户还出于其他原因需要了解语法,例如语法突出显示。

默认的语句终止符是;可以出现在字符串中。这意味着需要一个基本的解析器来避免发送不完整的语句。此终止符也可以更改,因此客户端需要跟踪当前终止符或“定界符”是什么。

确实没有像脚本语言那样可以直接执行的独立 SQL 脚本。您应该有一个最小的包装器,它可以帮助正确连接到服务器、进行身份验证,然后通过使用重定向(例如 do-sql < test.sql )或类似 \i 的功能在 SQL 中发送负载。导入工具。

关于postgresql - 一个 sql 脚本是只被 PostgreSQL 服务器接受,还是被服务器和客户端 psql 接受?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50878093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com