Re: Truncate data from whole cluster

From: hubert depesz lubaczewski <depesz(at)depesz(dot)com>
To: Rajesh Kumar <rajeshkumar(dot)dba09(at)gmail(dot)com>
Cc: Pgsql-admin <pgsql-admin(at)lists(dot)postgresql(dot)org>
Subject: Re: Truncate data from whole cluster
Date: 2023-12-20 10:23:41
Message-ID: ZYLArRMPsNu3ZooU@depesz.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

On Wed, Dec 20, 2023 at 02:35:52PM +0530, Rajesh Kumar wrote:
> Hi all,
>
> I am using postgres 15.2. one leader and one replica. I have multiple dbs
> and multiple tables. I want to keep definitions and only want to delete
> 'data only' from all dbs and tables.
>
> Any command to do that instead of truncating all tables one by one?

No such command exists. For starters, no command in SQL can do stuff in
other databases than the one you are connected to.

You can write a simple one-liner that will do it, in your shell.
shouldn't be really complex - get list of dbs, and in each db connect
with psql and truncate all tables. basically: `psql | xargs psql`

depesz

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Dischner, Anton 2023-12-20 11:39:40 AW: Truncate data from whole cluster
Previous Message Rajesh Kumar 2023-12-20 09:05:52 Truncate data from whole cluster