1

Temat: Zapisywanie danych z pliku tekstowego

Planuje przejście z MySQL na POSTGRESQL. Obecnie integracje z baz danych mam rozwiązaną w ten sposób, że jesten z serwerów produkcyjnych generuje plik w postaci txt rozdzielnay znakami !!!!. Są to dane o artykułach, tj. kod kreskowy, numer artykulu, opis, cena sprzedaży, cena zakupu, marża, zapas, itp. W mysql jest wygodna opcja, która pozwala szybko wrzucić dane z pliku tekstowego do bazy. Czy Postgresql również ma taką możliwość??

2

Odp: Zapisywanie danych z pliku tekstowego

Podstawowe narzedzie PhpPgAdmin oferuje ladowanie z formatow CSV, z tabulatorami oraz XML, osobiście polecam XML'a. Nie wiem jak u ciebie z danymi ale ja przezucalem z Oracle do Postgres i troche sie napocilem, aczkolwiek jak zaczolem przezucac dane w XML'u to wszystko poszlo gladko wink - gorąco polecam XML'a

Oczywiscie mozna jeszcze znalesc w sieci troche narzedzi do transferu miedzy bazami

powodzenia

3

Odp: Zapisywanie danych z pliku tekstowego

4

Odp: Zapisywanie danych z pliku tekstowego

Polecenie COPY jest najlepszym i najszybszym rozwiązaniem, jednak nie można podać sekwencji znaków jako delimiter. Tak więc będziesz musiał zmienić delimiter. Jedna uwaga jeśli użyjesz '!', a w wartości kolumny pojawi Ci się znak '!' dostaniesz błąd o zbyt dużej ilości kolumn. Można to obejść opakowując varchary w ''.

Innym najprostszym sposobem jest wygenerowanie txt gdzie są inserty poprzez skonkatenowanego selecta. Coś w stylu
select 'insert into table values (" ' || a.col1 || ' ", " ' || a.col2 || ' ")' from table a;
Przy dużych tabelach jednak mało wydajne.