5

I've created a table like so:

create table doki_data_item2 (like doki_data_item including defaults);

but this new table uses the same sequence as the old table.

So two questions:

  1. How can I copy and table and the necessary sequences easily?
  2. How can I replace a sequence on one table with another sequence?

1 Answer 1

9

Why don't you create a new sequence:

create sequence new_sequence;

Then create the new table

create table doki_data_item2 (like doki_data_item including defaults);

Finally modify the column that is using the old sequence to use the new one:

alter table doki_data_item2 alter column seq_column set default nextval('new_sequence');

You can obviously set various parameters for the newly created sequence to suit your needs.

2
  • 2
    Also ALTER SEQUENCE to set the sequence owner to the table. Commented Feb 25, 2014 at 14:47
  • 1
    ALTER SEQUENCE new_sequence OWNED BY doki_data_item2.seq_column; More explanation. Commented Feb 25, 2014 at 22:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.