[psql] Jak odczytać pg_index.indexprs w postaci nodeToString()?
Tomasz Judycki - 27-12-2006 00:11
[psql] Jak odczytać pg_index.indexprs w postaci nodeToString()?
Wesołych Świąt! ;-)
Chciałbym odczytać całość informacji o strukturze bazy danych z tablic pg_* i natrafiłem właśnie pg_index.indexprs, gdzie jest zapisane wyrażenie użyte w indeksie w postaci zwróconej przez nodeToString(). Wygląda to np. tak:
({FUNCEXPR :funcid 870 :funcresulttype 25 :funcretset false :funcformat 0 :args ({RELABELTYPE :arg {VAR :varno 1 :varattno 8 :vartype 1043 :vartypmod 34 :varlevelsup 0 :varnoold 1 :varoattno 8} :resulttype 25 :resulttypmod -1 :relabelformat 1})})
Pytania: 1. Czy mogę do tego zastosować stringToNode() z dowolnego pakietu w Javie, który ma taką funkcję? Czy jest to jakaś konkretna implementacja? 2. Co oznaczają poszczególne atrybuty? Zapewne są to wskazania na funkcje i pola, ale czy jest to gdzieś opisane?
-- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
hubert depesz lubaczewski - 27-12-2006 00:11
On 2006-12-26, Tomasz Judycki <tjudycki.SKASUJ@gazeta.pl> wrote: > Chciałbym odczytać całość informacji o strukturze bazy danych z tablic pg_* i > natrafiłem właśnie pg_index.indexprs, gdzie jest zapisane wyrażenie użyte w > indeksie w postaci zwróconej przez nodeToString(). Wygląda to np. tak:
sorry, ale powiedz może po co ci to? najprawdopodobniej istnieje lepsza/prostsza/bezpieczniejsza metoda pobrania interesujących cię informacji niż grzebanie po katalogu.
> 1. Czy mogę do tego zastosować stringToNode() z dowolnego pakietu w Javie, > który ma taką funkcję? Czy jest to jakaś konkretna implementacja? > 2. Co oznaczają poszczególne atrybuty? Zapewne są to wskazania na funkcje i > pola, ale czy jest to gdzieś opisane?
uh. nie pomogę - nie znam javy.
depesz
-- rower trekkingowy od złotówki http://www.allegro.pl/item151225399_...ywany_bcm.html
Tomasz Judycki - 27-12-2006 01:10
hubert depesz lubaczewski <depesz@depesz.com> napisał(a): > On 2006-12-26, Tomasz Judycki <tjudycki.SKASUJ@gazeta.pl> wrote: > > Chciałbym odczytać całość informacji o strukturze bazy danych z tablic pg_* i > > natrafiłem właśnie pg_index.indexprs, gdzie jest zapisane wyrażenie użyte w > > indeksie w postaci zwróconej przez nodeToString(). Wygląda to np. tak: > > sorry, ale powiedz może po co ci to?
Potrzebuję pełnej informacji o strukturze bazy danych, bo chcę napisać diff'a: program, który podłącza się do dwóch baz i generuje szereg zdań SQLowych, które, wykonane na jednej z baz, zmodyfikują jej strukturę tak, żeby stała się identyczna ze strukturą drugiej bazy. Ta funkcjonalność jest zrealizowana częściowo przez narzędzie o nazwie Database Comparer (http://www.clevercomponents.com/), ale to narzędzie ma pewne braki.
> najprawdopodobniej istnieje > lepsza/prostsza/bezpieczniejsza metoda pobrania interesujących cię > informacji niż grzebanie po katalogu.
Faktycznie, w międzyczasie znalazłem view pg_indexes, gdzie jest używana funkcja pg_get_indexdef(). Ta funkcja z kolei zwraca zwykły tekst, który trzeba parsować, ale w połączeniu z danymi z pg_index to będzie proste.
-- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
=?ISO-8859-2?Q?[psql]_Polskie_t=B3umaczenie_?= =?ISO-8859-2?Q?licencji_BSD_dla_PostgreSQL=3F?=
Formularz wysyłający dane do *.txt / szablon odczytujący dane
[pg] Jak =?ISO-8859-2?Q?zapisywa=E6_=5C_=2C_=27_itp=3F?=
=?iso-8859-2?q?PG_Admin_-_wszyscy_widz=B1_struktur=EA...?=
[psql] Funkcja =?ISO-8859-2?Q?=B3=B1cz=B1ca_stringi?=
[Postgres] jak zastapic brakujaca funkcje regexp_replace w PG wersji 8.0
[psql] =?ISO-8859-2?Q?Ilo=B6=E6_godzin_w_intervale?=
[PostgreSQL] Konfiguracja w pg_hba.conf - dziala tylko "trust"
[PG][C] niskopoziomowy =?ISO-8859-2?Q?dost=EAp?= po ID
[PGSQL] Strumienie np. dla ostrzeżeń w procedurach Pl Pg SQL
zanotowane.pldoc.pisz.plpdf.pisz.pllunadance.htw.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 |
|