Re: TRUNCATE on foreign tables - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: TRUNCATE on foreign tables
Date
Msg-id 20200102115640.GA30335@alvherre.pgsql
Whole thread Raw
In response to Re: TRUNCATE on foreign tables  (Kohei KaiGai <kaigai@heterodb.com>)
Responses Re: TRUNCATE on foreign tables  (Kohei KaiGai <kaigai@heterodb.com>)
List pgsql-hackers
On 2020-Jan-02, Kohei KaiGai wrote:

> 2020年1月2日(木) 12:16 Alvaro Herrera <alvherre@2ndquadrant.com>:
> >
> > I think this would need to preserve the notion of multi-table truncates.
> > Otherwise it won't be possible to truncate tables linked by FKs.  I
> > think this means the new entrypoint needs to receive a list of rels to
> > truncate, not just one.  (Maybe an alternative is to make it "please
> > truncate rel X, and be aware that relations Y,Z are also being
> > truncated at the same time".)
>
> Please check at ExecuteTruncateGuts(). It makes a list of relations to be
> truncated, including the relations that references the specified table by FK,
> prior to invocation of the new FDW callback.
> So, if multiple foreign tables are involved in a single TRUNCATE command,
> this callback can be invoked multiple times.

Yeah, that's my concern: if you have postgres_fdw tables linked by FKs
in the remote server, the truncate will fail because it'll try to
truncate them in separate commands instead of using a multi-table
truncate.

> > Looking at apache arrow documentation, it doesn't appear that it has
> > anything like FK constraints.
> >
> Yes. It is just a bunch of columnar data.
> In Apache Arrow, no constraint are defined except for "NOT NULL".
> (In case when Field::nullable == false, all the values are considered
> valid date.)

OK, I suppose that means there are no concerns such as what I mention
above.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



pgsql-hackers by date:

Previous
From: Dilip Kumar
Date:
Subject: Re: [HACKERS] Block level parallel vacuum
Next
From: Amit Kapila
Date:
Subject: parallel vacuum options/syntax