Re: Support logical replication of DDLs - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: Support logical replication of DDLs
Date
Msg-id 20220623124356.gkndavscdkyg4pqq@alvherre.pgsql
Whole thread Raw
In response to RE: Support logical replication of DDLs  ("houzj.fnst@fujitsu.com" <houzj.fnst@fujitsu.com>)
List pgsql-hackers
On 2022-Jun-15, houzj.fnst@fujitsu.com wrote:

> On Wednesday, June 15, 2022 8:14 AM Zheng Li <zhengli10@gmail.com> wrote:

> > How does the deparser deparses CREATE FUNCTION STATEMENT? Will it
> > schema qualify
> > objects inside the function definition?
> 
> The current deparser doesn't schema qualify objects inside the function
> source as we won't know the schema of inner objects until the function is
> executed. The deparser will only schema qualify the objects around
> function declaration Like:
> 
> CREATE FUNCTION [public].test_func(i [pg_catalog].int4 ) RETURNS  [pg_catalog].int4 LANGUAGE plpgsql

Right, this is by design.  There is no way to deparse a function body --
as far as the backend is concerned, the body is just an opaque string.
That string is to be interpreted by the language handler only.

I don't know if it's possible to do different for non-core PLs, but I do
not think we have to worry about them in the Postgres implementation.

-- 
Álvaro Herrera         PostgreSQL Developer  —  https://www.EnterpriseDB.com/
"La victoria es para quien se atreve a estar solo"



pgsql-hackers by date:

Previous
From: Simon Riggs
Date:
Subject: Re: doc: Clarify Savepoint Behavior
Next
From: Jelte Fennema
Date:
Subject: Re: WIP Patch: Add a function that returns binary JSONB as a bytea