PGx:用Rust而不是oc C编写Postgres扩展

2020-07-13 23:27:39

PGx是一个在Rust中开发PostgreSQL扩展的框架,它想让这个过程尽可能的习惯和安全。目前,PGx支持Postgres v10、v11和v12。

将Rust Panic!()s转换为Postgres错误,这将中止当前事务,而不是Postgres群集。

#[PG_Guard]proc-用于保护需要传递到Postgres的外部Rust函数的宏。

将Postgres符号(类型、函数等)按所有支持的版本以及特定于版本的模块中常见的内容进行分隔。

首先,您需要从crates.io安装PGx货运子命令。您将几乎只在开发和测试工作流程中使用它。

它有许多子命令。例如,要创建新的扩展项目,只需运行:

第一次,这将需要一段时间。在幕后,PGx正在下载、配置、编译和安装(在target/内)PostgresV10、V11和V12。所有这些都发生在target/目录中,工件将一直保留到货物清理完毕。这对于为Postgres内部部件生成正确的铁锈绑定是必要的。

请注意,Cargo PGx Install将编译您的扩展,然后将其安装到由pg_config标识的本地安装的Postgres实例中,因此请确保pg_config位于您的$PATH中。

我们绝对愿意接受任何形式的捐款。错误报告、功能请求、文档,甚至是赞助。

为Postgres';内部组件提供包装器并不是一件简单的任务,完全包装它需要相当长的时间。PGx现在基本上可以使用了,随着时间的推移,它将继续开发。我们非常感谢您对PGx能做些什么的反馈。

版权所有2020 ZomboDB,LLC<;[email protected]>;。版权所有。此源代码的使用受可在许可证文件中找到的MIT许可证管辖。