Re: TRUNCATE on foreign table

Ibrar Ahmed <ibrar.ahmad@gmail.com>

From: Ibrar Ahmed <ibrar.ahmad@gmail.com>
To: Kazutaka Onishi <onishi@heterodb.com>, Kohei KaiGai <kaigai@heterodb.com>
Cc: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>, Zhihong Yu <zyu@yugabyte.com>, PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>, Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
Date: 2021-03-08T17:24:03Z
Lists: pgsql-hackers

Attachments

On Thu, Feb 11, 2021 at 6:23 PM Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
wrote:

> On Wed, Feb 10, 2021 at 10:58 PM Kazutaka Onishi <onishi@heterodb.com>
> wrote:
> >
> > That's because using the foreign server is difficult for the user.
> >
> > For example, the user doesn't always have the permission to login to the
> forein server.
> > In some cases, the foreign table has been created by the administrator
> that has permission to access the two servers and the user only uses the
> local server.
> > Then the user has to ask the administrator to run TRUNCATE every time.
>
> That might actually be seen as a loophole but ...
>
> >
> > Furthermore,there are some fdw extensions which don't support SQL.
> mongo_fdw, redis_fdw, etc...
> > These extensions have been used to provide SQL interfaces to the users.
> > It's hard for the user to run TRUNCATE after learning each database.
>
> this has some appeal.
>
> Thanks for sharing the usecases.
> --
> Best Wishes,
> Ashutosh Bapat
>
>
> The patch (pgsql14-truncate-on-foreign-table.v2.patch) does not apply
successfully.

http://cfbot.cputube.org/patch_32_2972.log

patching file contrib/postgres_fdw/expected/postgres_fdw.out
Hunk #2 FAILED at 9179.
1 out of 2 hunks FAILED -- saving rejects to file
contrib/postgres_fdw/expected/postgres_fdw.out.rej


As this is a minor change therefore I have updated the patch. Please take a
look.

--
Ibrar Ahmed

Commits

  1. doc: Review for "Allow TRUNCATE command to truncate foreign tables".

  2. Don't pass "ONLY" options specified in TRUNCATE to foreign data wrapper.

  3. Support tab-complete for TRUNCATE on foreign tables.

  4. Allow TRUNCATE command to truncate foreign tables.

  5. Add support for asynchronous execution.