2016-10-06 2 views
4

Я хочу скопировать только 4 таблицы из схемы1 в схему2 в пределах одного DB в Postgres. И хотелось бы сохранить таблицы в схеме1. Любая идея, как это сделать в pgadmin, а также в консоли postgres?Как скопировать некоторые таблицы из одной схемы в другую внутри той же БД в Postgres, сохраняя исходную схему?

+0

«Перемещение» таблицы подразумевает ** не ** держать исходный стол - по крайней мере, в моем понимании «перемещения». –

+0

Возможный дубликат [Копировать таблицу (включая индексы) в postgres] (http://stackoverflow.com/questions/198141/copy-a-table-including-indexes-in-postgres) –

ответ

9

Вы можете использовать create table ... like

create table schema2.the_table (like schema1.the_table including all); 

Затем вставить данные из источника к месту назначения:

insert into schema2.the_table 
select * 
from schema1.the_table; 
6

Вы можете использовать CREATE TABLE AS SELECT. Эти способы вам не нужно вставлять. Таблица будет создана с данными.

CREATE TABLE schema2.the_table 
AS 
SELECT * FROM schema1.the_table; 
+0

Это просто делает все в одном запрос – MANU

+0

@MANU: но он не копирует ограничения и индексы –

+0

@a_horse_with_no_name Да .. хорошая точка .. Это там ..... Моя ошибка ... – MANU

 Смежные вопросы

  • Нет связанных вопросов^_^