能否在Azure托管PostgreSQL数据库中使用PL/Python编写函数?
Azure托管PostgreSQL中使用PL/Python函数的可行性
结论:无法在Azure托管的PostgreSQL数据库中使用PL/Python编写函数
原因如下:
- 原生PostgreSQL环境中,创建PL/Python函数需要超级用户权限,因为这类操作涉及加载扩展语言、访问底层系统资源,属于高权限范畴。
- Azure托管的PostgreSQL为保障服务安全性和稳定性,并未开放超级用户账户,用户仅拥有受限的管理员权限,无法执行启用PL/Python扩展、创建相关函数这类需要超级用户权限的操作。
替代方案
- 使用PostgreSQL原生支持的PL/pgSQL编写函数,这是Azure托管PostgreSQL默认支持的过程语言,无需特殊权限。
- 将Python逻辑迁移到应用层实现,通过应用代码连接PostgreSQL数据库完成数据交互。
- 借助Azure Functions等服务编写Python代码,通过数据库连接串与Azure PostgreSQL交互,实现类似PL/Python的业务逻辑。
内容的提问来源于stack exchange,提问作者Peter Rilling
相关产品推荐
相关产品推荐

