Re: support for CREATE MODULE - Mailing list pgsql-hackers

From Pavel Stehule
Subject Re: support for CREATE MODULE
Date
Msg-id CAFj8pRDjg=X446dQv0Ya+ae4Yq0HQGyrwWNAh=xc+fU6DcA2yg@mail.gmail.com
Whole thread Raw
In response to support for CREATE MODULE  (Swaha Miller <swaha.miller@gmail.com>)
Responses Re: support for CREATE MODULE  (Julien Rouhaud <rjuju123@gmail.com>)
List pgsql-hackers
Hi

čt 3. 2. 2022 v 3:28 odesílatel Swaha Miller <swaha.miller@gmail.com> napsal:
Hi,

I'm following up from Jim's POC for adding MODULE to PostgreSQL. [1]

My proposal implements modules as schema objects to be stored in a new
system catalog pg_module with new syntax for CREATE [OR REPLACE] MODULE,
ALTER MODULE, DROP MODULE and for GRANT and REVOKE for privileges on
modules and module routines. I am attempting to follow the SQL spec.
However, for right now, I'm proposing to support only routines as module
contents, with local temporary tables and path specifications as defined
in the SQL spec, to be supported in a future submission. We could also
include support for variables depending on its status. [2]

Following are some examples of what the new module syntax would look
like. The attached patch has detailed documentation.

CREATE MODULE mtest1 CREATE FUNCTION m1testa() RETURNS text
    LANGUAGE sql
    RETURN '1x';
SELECT mtest1.m1testa();
ALTER MODULE mtest1 CREATE FUNCTION m1testd() RETURNS text
    LANGUAGE sql
    RETURN 'm1testd';
SELECT mtest1.m1testd();
ALTER MODULE mtest1 RENAME TO mtest1renamed;
SELECT mtest1renamed.m1testd();
REVOKE ON MODULE mtest1 REFERENCES ON FUNCTION m1testa() FROM public;
GRANT ON MODULE mtest1 REFERENCES ON FUNCTION m1testa() TO
regress_priv_user1;

I am new to the PostgreSQL community and would really appreciate your
input and feedback.

I dislike this feature. The modules are partially redundant to schemas and to extensions in Postgres, and I am sure, so there is no reason to introduce this.

What is the benefit against schemas and extensions?

Regards

Pavel
 

pgsql-hackers by date:

Previous
From: Bharath Rupireddy
Date:
Subject: Re: Avoid erroring out when unable to remove or parse logical rewrite files to save checkpoint work
Next
From: Julien Rouhaud
Date:
Subject: Re: Unclear problem reports