postgresql pl/python可以用来在azure托管的数据库中编写postgres函数吗?

83qze16e  于 2023-05-28  发布在  PostgreSQL
关注(0)|答案(1)|浏览(122)

有没有可能在Azure托管的数据库上用pl/python编写postgres函数?
Postgres允许python,但我读到创建python函数需要超级用户;但是,我还了解到AzurePostgres不会公开超级用户帐户。

e5nqia27

e5nqia271#

PostgreSQL使用plpython 3u扩展在数据库脚本中支持python。不幸的是,此扩展直到今天05/2023才被列入Azure上的单个或灵活服务器。
作为替代方案,您可以执行以下操作:

  1. option 1,要使用Linux操作系统的虚拟机,请安装postgresql并手动安装plpython 3u扩展。
  2. option 2,要在Azure Kubernetes中托管的docker容器中运行postgresql,请安装postgresql并手动安装plpython 3u扩展。
    上述解决方案都是可行的,但与托管示例相比,您必须正确维护资源分配,磁盘和日志维护。
    以下是安装plpython 3u的步骤:
--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灵活服务器扩展的可用列表!

相关问题