pg.ddx.io  pgsql-admin@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Wetmore, Matthew (CTR) <Matthew.Wetmore@express-scripts.com>
To: Holger Jakobs <holger@jakobs.com>
To: pgsql-admin@lists.postgresql.org <pgsql-admin@lists.postgresql.org>
Subject: Automate to rename table
Date: Thu, 10 Aug 2023 15:27:24 +0000
Message-ID: <e56c2d2c367b488e8ef1d2ed9f9bdfcd@express-scripts.com> (raw)
In-Reply-To: <14844CC2-42CB-4A2B-A656-59F6DD20CE1C@jakobs.com>
References: <CAJk5AtaNKtSp2thxJd56j=he15aHHeUbW7tmnhYhY_1iiKG9OA@mail.gmail.com>
	<a4aa1ded524e423ca3ebbd0fea723315@express-scripts.com>
	<CAOC+FBWEV2FtkGLjZHsEjKHki5WL0VSiBJhymdkny1JHHfggPQ@mail.gmail.com>
	<CAJk5AtYMsFAGz=aDOqXn5rMmMq=LyBQEsA2XVoCwFYTv6=3mYw@mail.gmail.com>
	<14844CC2-42CB-4A2B-A656-59F6DD20CE1C@jakobs.com>

A partitioned table with less than 500M rows will suffer from performance issues.  Just my $0.02

From: Holger Jakobs <holger@jakobs.com>
Sent: Thursday, August 10, 2023 3:12 AM
To: pgsql-admin@lists.postgresql.org
Subject: [EXTERNAL] Re: Automate to rename table

Creating a partitioned table with a partition by month would be the way to go. Then drop the tables you no longer need. This can be done in a cron job or by using pg_agent, pg_cron or pg_timetable.

Am 10. August 2023 11:52:37 MESZ schrieb Rajesh Kumar <rajeshkumar.dba09@gmail.com<mailto:rajeshkumar.dba09@gmail.com>>:
I have a table A where datas are coming in...and as it gets old (say 30 days), we would not want this on same table and wants it in another table 30days old (A_old) and any new request will be in A table.


So, what we are already doing is, created a function to create a table A if not exists , then we are renaming the table A to A_old manually. And when we execute that function it create a new table A so that new data gets inserted. Then after 60 days we drop drop A_old table. Which means we need 30 days data in new table, 30 days data in old table and remaining we don't need it.

How do we automate it?

I am thinking of partioning, but unsure whether it's a complex process ..also don't have date column.

Can we simply create a function to alter table A rename to A_old , and schedule to execute this function every 30 days?

What's the best way?

On Thu, 10 Aug, 2023, 2:34 PM Wells Oliver, <wells.oliver@gmail.com<mailto:wells.oliver@gmail.com>> wrote:
Wild. What's the use-case here?

On Wed, Aug 9, 2023 at 9:50 PM Wetmore, Matthew (CTR) <Matthew.Wetmore@express-scripts.com<mailto:Matthew.Wetmore@express-scripts.com>> wrote:
Simple CRON entry with a script that runs a psql command

You can:

alter table rename
Or
create table x as select * from original table.

Depending on you DDL needs or permissions/setup

From: Rajesh Kumar <rajeshkumar.dba09@gmail.com<mailto:rajeshkumar.dba09@gmail.com>>
Sent: Wednesday, August 9, 2023 1:39 PM
To: pgsql-admin@lists.postgresql.org<mailto:pgsql-admin@lists.postgresql.org>
Subject: [EXTERNAL] Automate to rename table

Hi friends,

What is the best way to rename the table name automatically every 30 minutes?



--
Wells Oliver
wells.oliver@gmail.com<mailto:wellsoliver@gmail.com>


view thread (11+ messages)  latest in thread

Message-ID: <e56c2d2c367b488e8ef1d2ed9f9bdfcd@express-scripts.com>
Permalink:  ../e56c2d2c367b488e8ef1d2ed9f9bdfcd@express-scripts.com/
Also on:    postgresql.org/message-id/e56c2d2c367b488e8ef1d2ed9f9bdfcd@express-scripts.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-admin@postgresql.org
  Cc: Matthew.Wetmore@express-scripts.com, holger@jakobs.com, pgsql-admin@lists.postgresql.org
  Subject: Re: Automate to rename table
  In-Reply-To: <e56c2d2c367b488e8ef1d2ed9f9bdfcd@express-scripts.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox