1

I would like to add some more tokens such as OPEN into PostgreSQL, what procedure should I follow? I did not find corresponding documents. thanks.

4

1 回答 1

2

(假设您的意思是“postgresql 服务器”而不是“命令行客户端psql”,而“令牌”的意思是“SQL 命令/语句类型”):

...是的,这不是超级简单。

如果它是一个不需要查询计划的实用程序命令,那么它不是超级难。您可以将现有的实用程序命令作为其工作方式的指导。不过,它们都完全不同。开始ProcessUtility

如果它打算生成一个查询计划,比如SELECT, INSERT, UPDATE, DELETE, CREATE TABLE AS, 等等……嗯,这往往要复杂得多。

这类事情需要花费大量时间阅读 PostgreSQL 源代码和开发人员文档。在这里给你一步一步的操作方法太复杂了,特别是因为你甚至没有解释你想要添加的命令应该做什么。

如果可能的话,您应该首先开发您需要的功能作为用户定义的功能。从 PL/PgSQL、PL/Perl 或其他任何东西开始,如果您遇到了限制,请将其开发为 C 扩展。

一旦你拥有了所有你想要的 C 函数的功能,然后考虑扩展实际的 SQL 语法是否有意义。

于 2013-08-08T04:13:36.710 回答