I am trying to create a partition for the last 30 days. Yet when I run this code:
create table Test_Older30day partition of Test
for values from (current_timestamp + interval'-30 day') to (current_timestamp);
I get this error:
syntax error at or near "current_timestamp"
I am confused, what am I doing wrong here?
the table looks like this:
create table if not exists Test(
source_name varchar,
event_name varchar,
service_data json,
stamp timestamptz
)partition by range(stamp);
data types match and I have used the partition by range on the date field.
I already know I can insert them manually
create table Test_Older30day partition of Test
for values from ('2019-08-11') to ('2019-09-11')
like that. What I am trying to attempt is a more automated way of doing it. Basically the idea is to avoid typing it every single month or week. Just to run the query and it would use the current date.
current_timestamp
.with
clause. But there is no syntax I know of that allows stuff likecreate table x partition of y as with clause
I tried searching that to no avail.for values from ('2019-08-12') to ('2019-09-12')
) But for automated way as you describe, you probably need dynamic SQL then. Please add your comment in the question.