Às vezes, você precisa recriar uma tabela de banco de dados para contornar o fato de que não pode alterar o estado da tabela para o que você precisa. Por exemplo, transformar uma tabela em uma tabela não registrada ou vice-versa. A maneira mais fácil de fazer isso seria executar uma consulta da seguinte maneira:
CREATE UNLOGGED TABLE unlogged_table AS select col1, col2 FROM table;
Depois de fazer isso, você pode mover a sequência da primeira tabela para a segunda da seguinte maneira,
ALTER TABLE unlogged_table ALTER COLUMN "col1" SET DEFAULT nextval('"public"."table_seq");
ALTER TABLE table ALTER COLUMN "col1" SET DEFAULT NULL;
No entanto, se você tentar eliminar a tabela agora, receberá um erro informando que a sequência ainda depende da tabela. Acontece que você também precisa alterar o PROPRIETÁRIO da tabela da seguinte maneira:
ALTER SEQUENCE table_seq OWNED BY unlogged_table.col1;