PostgreSql и COPY FROM file
10 отговора
388 прегледа
PostgreSql и COPY FROM file
Може ли някой да подпре с едно рамо
Значи какъв е проблема.... извършвам наливане на голяма бройка(милиони) записи от ASCII файл в PostgreSql база с помоща на COPY FROM file ... до тук добре
... но проблема е, че ако по някое време се попадне на запис, който неотговаря на изискваната структурата процеса на копиране се скапва и на всичкото отгоре не запазва вече налятите записи (поне не и като достъпни)
... пр други бази като MySql, Oracle .... това е решено доста интелегентно .... Дайте някаква идея как мога да преодолея този проблем, т.е. да си налива всички записи като игнорира невалидните ...
10x предварително, дори и за отделеното внимание
10x предварително, дори и за отделеното внимание
Re: PostgreSql и COPY FROM file
не ми се е случвало и затова нямам готово решение, но май не може да излъжеш copy-то ;-(
идват ми два варианта на ум - не много кефещи ;-)
1. Премахваш грешните редове и ползваш copy без проблем
2. Правиш си примерно php скрипт и с него ги пълниш
(първият ми се вижда по-добър, ако нямаш много грешни редова, вторият - ако имаш много грешни редове)
идват ми два варианта на ум - не много кефещи ;-)
1. Премахваш грешните редове и ползваш copy без проблем
2. Правиш си примерно php скрипт и с него ги пълниш
(първият ми се вижда по-добър, ако нямаш много грешни редова, вторият - ако имаш много грешни редове)
Re: PostgreSql и COPY FROM file
Проблема е, че със скрипт зареждането на данните тече часове, а тези файлове са периодични и немога да знам какви грешни записи биха могли да се появят, а все пак говоря за милиони записи и някак си не идва да преравям файла за да гледам дали всичко е наред .... немога да открия някой тул на постгреса(ако въобще има такъв) като mysql_import в MySql примерно....
Re: PostgreSql и COPY FROM file
със скрипт няма да е толкова бавно ако го правиш в транзакция и накрая я commit-неш и махнеш индексите (ако има такива) - после може да си ги сложиш
Re: PostgreSql и COPY FROM file
И на мен ми се струва, че със скрипт би трябвало да е доста бавно, но би ли дал пример на такъв скрипт.Аз също се боря с нещо подобно, но съм далеч от вашия опит доколкото виждам
Re: PostgreSql и COPY FROM file
направи се на истинско българче и ползвай нещо оттук (примерно импорт-а)
[линк]
[линк]
Re: PostgreSql и COPY FROM file
мда,
пробвай с тва дето AcidMemory предлага, ако не става тогава да мислим за скриптче ;-)
пробвай с тва дето AcidMemory предлага, ако не става тогава да мислим за скриптче ;-)
Re: PostgreSql и COPY FROM file
Една безумна идея и от мен ако не си се оправил досега :-)))
1. Наливаш в го в MySQL без да се притесняваш за грешките
2. От MySQL-а експортваш чистите записи
3. Наливаш хубавия фаил в PG-то :-))))
Много е смешно ама докато намериш вярното решение ще ти помогне
root@localhost#cd /pub
root@localhost#more beer
1. Наливаш в го в MySQL без да се притесняваш за грешките
2. От MySQL-а експортваш чистите записи
3. Наливаш хубавия фаил в PG-то :-))))
Много е смешно ама докато намериш вярното решение ще ти помогне
root@localhost#cd /pub
root@localhost#more beer
Re: PostgreSql и COPY FROM file
10x на всички ...
, ще изпробвам и двата тула, който сте ми поснали и се надявам, че някой от тях ще ми свърши работа ... вече почти се бях предал и решил да минавам към MySql-a, a ситуацията е такава, че това няма да е най-правилния избор ...
Re: PostgreSql и COPY FROM file
В такава ситуация бих написал едно perl скриптче което проверява записите и маха грешните и после copy