sql >> Databasteknik >  >> RDS >> PostgreSQL

Kopiera en tabell (inklusive index) i postgres

[CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name
    [ (column_name [, ...] ) ]
    [ WITH ( storage_parameter [= value] [, ... ] ) | WITH OIDS | WITHOUT OIDS ]
    [ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]
    [ TABLESPACE tablespace ]
    AS query][1]  

Här är ett exempel

CREATE TABLE films_recent AS
  SELECT * FROM films WHERE date_prod >= '2002-01-01';

Det andra sättet att skapa en ny tabell från den första är att använda

    CREATE TABLE films_recent (LIKE films INCLUDING INDEXES);  

    INSERT INTO films_recent
         SELECT *
           FROM books
          WHERE date_prod >= '2002-01-01';  

Observera att Postgresql har en patch för att fixa tabellutrymmesproblem om den andra metoden används



  1. Spåra databasändringar med hjälp av källkontroll för arbetsmapp

  2. Hur CRC32 fungerar i MariaDB

  3. Hur man tar bort nollan när heltalsdelen är noll i Oracle

  4. MySQL, Få användarrankning