PSQL - przepisac z jednej bazy do drugiej wybrane rek
BH - 29-01-2007 00:05
PSQL - przepisac z jednej bazy do drugiej wybrane rek
Witam Nie moge w szybki sposob ulozyc zapytania. Mam dwie identyczne bazy (co do struktury i rekordow) ale w jednej sa dane ktore chce dodac do drugiej. Czyli chce przepisac zawartosc wszyskich tabel z baza1 do baza2, ktore w dowolnym polu wszystkich tabel maja wpisana date wieksza niz 2007-01-05 Prosze o pomoc - musze to zrobic do jutra.
Bogdan
hubert depesz lubaczewski - 29-01-2007 00:05
On 2007-01-28, BH <bh@wytnijto_sih.pl> wrote: > Czyli chce przepisac zawartosc wszyskich tabel z baza1 do baza2, ktore w > dowolnym polu wszystkich tabel maja wpisana date wieksza niz 2007-01-05 > Prosze o pomoc - musze to zrobic do jutra.
pg_dump, troche operacji jakims sprytnym edutorem tekstu i juz.
depesz
-- http://www.depesz.com/ - blog dla ciebie
=?UTF-8?B?Q2V6YXJ5IEdyxIVkeXM=?= - 29-01-2007 00:05
Użytkownik BH napisał: > Witam > Nie moge w szybki sposob ulozyc zapytania. > Mam dwie identyczne bazy (co do struktury i rekordow) ale w jednej sa dane > ktore chce dodac do drugiej. > Czyli chce przepisac zawartosc wszyskich tabel z baza1 do baza2, ktore w > dowolnym polu wszystkich tabel maja wpisana date wieksza niz 2007-01-05 > Prosze o pomoc - musze to zrobic do jutra. > > Bogdan >
Może w taki sposób, bardzo ogólnie, szczegóły do dopracowania:
1 Zrzuć bazę do pliku - pg_dump -d baza > plik.dump 2 Wybierz właściwe wiersze zawierające 'INSERT INTO' oraz właściwą datę (tu sobie powalcz, jakiś skrypt w perlu) 3 Zaczytaj w psql ( \i plik) w docelowej bazie te właściwe wiersze.
Pozdrawiam
-- Cezary Grądys czarekgr@wa.onet.pl
=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 29-01-2007 00:05
BH wrote: > Witam > Nie moge w szybki sposob ulozyc zapytania. > Mam dwie identyczne bazy (co do struktury i rekordow) ale w jednej sa dane > ktore chce dodac do drugiej. > Czyli chce przepisac zawartosc wszyskich tabel z baza1 do baza2, ktore w > dowolnym polu wszystkich tabel maja wpisana date wieksza niz 2007-01-05 > Prosze o pomoc - musze to zrobic do jutra.
Może coś takiego? pg_dump -s baza | psql nowa_baza pg_dump -d -a baza | grep '<data>' | psql nowa_baza
-- P.M.
=?ISO-8859-2?Q?Cezary_Gr=B1dys?= - 29-01-2007 00:05
Użytkownik Paweł Matejski napisał: > BH wrote: > >>Witam >>Nie moge w szybki sposob ulozyc zapytania. >>Mam dwie identyczne bazy (co do struktury i rekordow) ale w jednej sa dane >>ktore chce dodac do drugiej. >>Czyli chce przepisac zawartosc wszyskich tabel z baza1 do baza2, ktore w >>dowolnym polu wszystkich tabel maja wpisana date wieksza niz 2007-01-05 >>Prosze o pomoc - musze to zrobic do jutra. > > > Może coś takiego? > pg_dump -s baza | psql nowa_baza > pg_dump -d -a baza | grep '<data>' | psql nowa_baza > >
No nie bardzo, ta data miała być większa od 2007-01-05. Ten wybór dat wymaga trochę zastanowienia, bo gdyby w jakimś polu tekstowym (np nazwisko) ktoś wpisał datę, to można sobie zrobić kłopot. Warto też zobaczyć w dumpie czy na pewno chodzi o te tabele. Na pewno warto rzucić okiem na to co się chce zaczytać.
-- Cezary Grądys czarekgr@wa.onet.pl
=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 29-01-2007 00:05
Cezary Grądys wrote: > Użytkownik Paweł Matejski napisał: >> BH wrote: >> >>> Witam >>> Nie moge w szybki sposob ulozyc zapytania. >>> Mam dwie identyczne bazy (co do struktury i rekordow) ale w jednej >>> sa dane >>> ktore chce dodac do drugiej. Czyli chce przepisac zawartosc wszyskich >>> tabel z baza1 do baza2, ktore w >>> dowolnym polu wszystkich tabel maja wpisana date wieksza niz 2007-01-05 >>> Prosze o pomoc - musze to zrobic do jutra. >> >> >> Może coś takiego? >> pg_dump -s baza | psql nowa_baza >> pg_dump -d -a baza | grep '<data>' | psql nowa_baza >> >> > > No nie bardzo, ta data miała być większa od 2007-01-05.
No tak, to większe przeoczyłem - tu przydałoby się zastosować perla z jakimś skryptem (zapewne jednolinijkowiec da się zrobić :)).
> Ten wybór dat wymaga trochę zastanowienia, bo gdyby w jakimś polu > tekstowym (np nazwisko) ktoś wpisał datę, to można sobie zrobić kłopot.
Problem trochę wydumany - już prędzej w jakichś uwagach się pojawi data. Ale jak dowolne pole to dowolne!
> Warto też zobaczyć w dumpie czy na pewno chodzi o te tabele. Na pewno > warto rzucić okiem na to co się chce zaczytać.
A myślisz, że jemu rzucenie okiem coś da? ;) Jak mu rzucanie okiem coś da, to zapewne nie będzie miał problemu z przerobieniem tego tak, żeby po drodze plik uzyskać.
-- P.M.
cienki_bolek - 30-01-2007 00:01
BH napisał(a): > Witam > Nie moge w szybki sposob ulozyc zapytania. > Mam dwie identyczne bazy (co do struktury i rekordow) ale w jednej sa dane > ktore chce dodac do drugiej. > Czyli chce przepisac zawartosc wszyskich tabel z baza1 do baza2, ktore w > dowolnym polu wszystkich tabel maja wpisana date wieksza niz 2007-01-05 > Prosze o pomoc - musze to zrobic do jutra. > > Bogdan >
Najprosciej to chyba kilka linijek w php. szybko i zgrabnie
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
=?iso-8859-2?Q?=5BMySQL=5D_Wy=B6wietlenie_wszystkich_rekordow _zawierajacy?==?iso-8859-2?Q?ch_duplikat_a__moze_inna_struktura_bazy_danych ?=
Konwesja znaków w dump'ie bazy danych - ISO -> utf-8 -> ISO -> utf-8
=?iso-8859-2?Q?=5BSQL_Server_2000=5D_uprawnienienia_do_u=BFyw ania_widoku_?==?iso-8859-2?Q?opartego_na_tabeli_z_innej_bazy?=
Dwie bazy czy dwie tabele?
[PHP i MySQL] Wstawianie =?ISO-8859-2?Q?rekord=F3w_do_bazy_?==?ISO-8859-2?Q?a_z=B3e_kodowanie?=
=?ISO-8859-2?Q?=5Bmysql=5D_synchronizacja_struktury_bazy_?==? ISO-8859-2?Q?lokalnej_ze_zdaln=B1?=
[Oracle] Co do tworzenia aplikacji dla bazy Oracle
narzedzie do transferu bazy mysql - mysql
narzedzie do transferu bazy odbc - odbc
Połączenie bazy danych z wykonaniem polaczenia telefonicznego
zanotowane.pldoc.pisz.plpdf.pisz.plptsite.xlx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|