Mam plik z zapytaniami wielkości 815 MB - muszę umieścić te dane w bazie.
Plik zawiera dane do trzech tabel - dwie tabele z danymi, oraz trzecia która je łączy w relacji wiele do wielu.
Wpisów do tabel jest - 14k dla jednej, 13k dla drugiej, i około 30 milionów wpisów w tabeli która je łączy.
Ułożenie zapytań w pliku wyglądają tak:
Kod
INSERT INTO pierwsza tabela...
INSERT INTO druga tabela...
INSERT INTO relacje... <- multi insert często zawierający kilka tysięcy wpisów.
(kolejne inserty ułozone tak samo jak te powyżej)
INSERT INTO druga tabela...
INSERT INTO relacje... <- multi insert często zawierający kilka tysięcy wpisów.
(kolejne inserty ułozone tak samo jak te powyżej)
Mój problem jest taki - po około pięciu milionach załadowanych wpisów (w obu tabelach znajduje się już wtedy około 3 tys. wpisów) do tabeli łączącej, dalej nie mogę wykonać żadnego inserta. Mogę usunąć kilka wpisów i insert wtedy również nie wejdzie. Pomaga dopiero przebudowanie bazy w symfony (czyli drop dla tych tabel i stworzenie ich od nowa). Myślałem na początku że wyczerpał się zakres liczbowy dla ID w tabeli-łączniku, ale to nie to jest problemem.
Na domiar złego po pierwszej takiej operacji coś się zepsuło i postgres nie wyświetla komunikatów o błędach - wyświetla co najwyżej że udał mu się insert, albo że udał mu się delete.
Wina może leżeć po strony hostingodawcy? Administratorzy jako limity przedstawili liczby z dokumentacji postgresa rzędu kilkudziestu TB, więc nie przekraczam ich na pewno. Ponadto twierdzą że w życiu nie widzieli takiej sytuacji.