sql >> Databáze >  >> RDS >> PostgreSQL

Zkopírujte tabulku (včetně indexů) v postgresu

[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]  

Zde je příklad

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

Dalším způsobem, jak vytvořit novou tabulku z první, je použít

    CREATE TABLE films_recent (LIKE films INCLUDING INDEXES);  

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

Všimněte si, že Postgresql má opravu, která opravuje problémy s tabulkovým prostorem, pokud je použita druhá metoda



  1. Jak vypočítat celkové hodiny cesty mezi městem x a y a naopak

  2. Kód chyby:1215. Nelze přidat omezení cizího klíče (cizí klíče)

  3. Funkce MySQL LOG10() – Vrátí základní-10 logaritmus hodnoty

  4. Huawei GaussDB