PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

KOPIUJ polecenie:skopiuj tylko określone kolumny z csv

Albo wstępnie przetworzyć plik CSV, albo (co prawdopodobnie bym zrobił) zaimportować do tymczasowej kopii tabeli docelowej i INSERT tylko wybrane kolumny w drugim kroku:

CREATE TEMP TABLE tmp AS SELECT * FROM target_table LIMIT 0;
ALTER TABLE tmp ADD COLUMN etra_column1 text
             ,  ADD COLUMN etra_column2 text;  -- add excess columns
COPY tmp FROM '/path/tp/file.csv';

INSERT INTO target_table (col1, col2, col3)
SELECT col1, col2, col3 FROM tmp  -- only reelvant columns
WHERE  ...  -- optional, to also filter rows

Tabela tymczasowa jest automatycznie usuwana na koniec sesji. Jeśli przetwarzanie trwa dłużej, użyj zwykłej tabeli.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. rails - błąd postgres:Przyczyna:Niezgodna wersja biblioteki:libpq.5.dylib wymaga wersji 1.0.0 lub nowszej,

  2. Jak przekonwertować postgresql 9.4 jsonb na obiekt bez języka po stronie funkcji/serwera?

  3. GroupingError:ERROR:kolumna musi występować w klauzuli GROUP BY lub być używana w funkcji agregującej

  4. Jak zmienić typ kolumny ze zmiennej na liczbę całkowitą za pomocą sqlalchemy-migrate?

  5. Funkcje metody tworzenia kopii zapasowych PostgreSQL w AWS S3