Este dilema se puede resolver de variadas maneras, por lo tanto te mostramos la respuesta más completa para nosotros.
Solución:
No puedes hacer eso fácilmente, pero tampoco hay necesidad de hacerlo.
CREATE TABLE mycopy AS
SELECT * FROM mytable;
o
CREATE TABLE mycopy (LIKE mytable INCLUDING ALL);
INSERT INTO mycopy
SELECT * FROM mytable;
Si necesita seleccionar solo algunas columnas o reordenarlas, puede hacer esto:
INSERT INTO mycopy(colA, colB)
SELECT col1, col2 FROM mytable;
También puede hacer un pg_dump selectivo y restaurar solo la tabla de destino.
Si las columnas son las mismas (nombres y tipos de datos) en ambas tablas, puede usar lo siguiente
INSERT INTO receivingtable (SELECT * FROM sourcetable WHERE column1='parameter' AND column2='anotherparameter');
Suponga que ya existe una tabla y desea copiar todos los registros de esta tabla a otra tabla que no está presente actualmente en la base de datos, entonces la siguiente consulta hará esta tarea por usted:
SELECT * into public."NewTable" FROM public."ExistingTable";
Si te ha resultado de utilidad este post, nos gustaría que lo compartas con más desarrolladores de este modo contrubuyes a dar difusión a nuestro contenido.