有没有可能在Azure托管的数据库上用pl/python编写postgres函数?Postgres允许python,但我读到创建python函数需要超级用户;但是,我还了解到AzurePostgres不会公开超级用户帐户。
e5nqia271#
PostgreSQL使用plpython 3u扩展在数据库脚本中支持python。不幸的是,此扩展直到今天05/2023才被列入Azure上的单个或灵活服务器。作为替代方案,您可以执行以下操作:
--INSIDE POSTGRESQL-- SELECT * FROM pg_available_extensions -------------------------------------------------------------------------------------- --INSIDE VM-- apt-get update apt-get install postgresql-plpython3-14 #FOR PG_14 apt-get install postgresql-plpython3-15 #FOR PG_15 -------------------------------------------------------------------------------------- --RESTART THE POSTGRESQL INSTANCE-- -------------------------------------------------------------------------------------- --INSIDE POSTGRESQL-- SELECT * FROM pg_available_extensions SELECT * FROM pg_language CREATE EXTENSION plpython3u -------------------------------------------------------------------------------------- --INSIDE POSTGRESQL-- CREATE OR REPLACE FUNCTION number_max (a integer, b integer) RETURNS integer AS $$ if a > b: return a else: return b $$ LANGUAGE plpython3u; SELECT number_max (3,5)
我希望有一天能看到plpython 3u扩展进入Azure灵活服务器扩展的可用列表!
1条答案
按热度按时间e5nqia271#
PostgreSQL使用plpython 3u扩展在数据库脚本中支持python。不幸的是,此扩展直到今天05/2023才被列入Azure上的单个或灵活服务器。
作为替代方案,您可以执行以下操作:
上述解决方案都是可行的,但与托管示例相比,您必须正确维护资源分配,磁盘和日志维护。
以下是安装plpython 3u的步骤:
我希望有一天能看到plpython 3u扩展进入Azure灵活服务器扩展的可用列表!