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

Czy mogę automatycznie utworzyć tabelę w PostgreSQL z pliku csv z nagłówkami?

Istnieje bardzo dobre narzędzie, które importuje tabele do Postgresa z pliku csv. Jest to narzędzie wiersza poleceń o nazwie pgfutter (z plikami binarnymi dla systemu Windows, Linux itp.). Jedną z jego dużych zalet jest to, że rozpoznaje również nazwy atrybutów/kolumn.

Korzystanie z narzędzia jest proste. Na przykład, jeśli chcesz zaimportować myCSVfile.csv :

pgfutter --db "myDatabase" --port "5432" --user "postgres" --pw "mySecretPassword" csv myCSVfile.csv

Spowoduje to utworzenie tabeli (o nazwie myCSVfile ) z nazwami kolumn pobranymi z nagłówka pliku csv. Dodatkowo typy danych zostaną zidentyfikowane na podstawie istniejących danych.

Kilka uwag:Polecenie pgfutter różni się w zależności od używanego pliku binarnego, np. może to być pgfutter_windows_amd64.exe (zmień jego nazwę, jeśli zamierzasz często używać tego polecenia). Powyższe polecenie należy wykonać w oknie wiersza poleceń (np. w systemie Windows uruchom cmd i upewnij się, że pgfutter jest dostępny). Jeśli chcesz mieć inną nazwę tabeli, dodaj --table "myTable"; aby wybrać konkretny schemat bazy danych:--schema "mySchema" . W przypadku dostępu do zewnętrznej bazy danych użyj --host "myHostDomain" .

Bardziej rozbudowany przykład pgfutter aby zaimportować myFile do myTable czy to jest:

pgfutter --host "localhost" --port "5432" --db "myDB" --schema "public" --table "myTable" --user "postgres" --pw "myPwd" csv myFile.csv

Najprawdopodobniej po imporcie zmienisz kilka typów danych (z tekstowych na numeryczne):

alter table myTable
  alter column myColumn type numeric
    using (trim(myColumn)::numeric)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Narzędzia do generowania diagramów tabel bazy danych za pomocą PostgreSQL?

  2. Co sprawdzić, jeśli wykorzystanie pamięci PostgreSQL jest wysokie?

  3. Jak przywrócić pojedynczą tabelę z kopii zapasowej .sql postgresql?

  4. Jak łączyć ciągi w PostgreSQL

  5. Pobierz ostatnią znaną wartość dla każdej kolumny wiersza