Как скопировать структуру и содержимое таблицы PostgreSQL, но дублировать последовательности?

Я пытаюсь настроить временные таблицы для целей модульного тестирования. До сих пор мне удалось создать временную таблицу, которая копирует структуру существующей таблицы:

CREATE TEMP TABLE t_mytable (LIKE mytable INCLUDING DEFAULTS);

Но для этого не хватает данных из исходной таблицы. Я могу скопировать данные во временную таблицу с помощьюCREATE TABLE AS утверждение вместо:

CREATE TEMP TABLE t_mytable AS SELECT * FROM mytable;

Но тогда структураt_mytable не будет идентичным, например размеры столбцов и значения по умолчанию разные. Есть ли одно утверждение, которое копирует все?

Еще одна проблема, которую ям с первым запросом, используяLIKE в том, что ключевое поле ссылается на последовательность идентификаторов исходной таблицы и, таким образом, увеличивает ее при вставке. Есть ли простой способ дублировать последовательности для таблицы модульного тестирования, или мне придется устанавливать новые последовательности вручную?

Ответы на вопрос(2)

Ваш ответ на вопрос