simulace MySQL na Postgresu
Jan Marek
jmarek na jcu.cz
Středa Srpen 3 14:48:23 CEST 2005
Ahoj Petre,
On Mon, Aug 01, 2005 at 06:35:09PM +0200, Petr Skoda wrote:
>
> kurzor = db.cursor()
> kurzor.execute("SHOW FULL FIELDS FROM " + table)
> data = kurzor.fetchall()
>
> Je mi velmi divne, ze tuto funkci nikdo nepotreboval - nenajde se nekdo
> kdo by mi polopatisticky napsal jak to udelat ?
>
> zde je vystup psql -E
>
> testreticon=# \d reticon
> ********* QUERY **********
> SELECT c.oid,
> n.nspname,
> c.relname
> FROM pg_catalog.pg_class c
> LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
> WHERE pg_catalog.pg_table_is_visible(c.oid)
> AND c.relname ~ '^reticon$'
> ORDER BY 2, 3;
> **************************
>
> ********* QUERY **********
> SELECT relhasindex, relkind, relchecks, reltriggers, relhasrules
> FROM pg_catalog.pg_class WHERE oid = '17218'
zkusil sis ty SELECT-y provest rucne?
Z prvniho radku ti vypadne nazev tabulky + jeji OID a toto OID
(to je to cislo '17218') pak doplnujes dale do dalsich dotazu...
Zkus si je postupne provest, uvidis, co ti vypisou...
Pro ostatni, co psali pozdeji: nejedna se o reseni v php, ale
pythonu, ktery vysledky do asociativniho pole (bohuzel) nedava
:-( Ale hodilo by se to...
>
> Vubec tomu nerozumim, napr jak najdu ze mam pouzit 17218 ,
> Navic ta funkce vraci i indexy apod, takze to stale neni ono
Odhadoval bych, ze napr. vynechani polozky 'relhashindex'
v druhem dotazu ti vynecha indexy... Vyzkousej.
Jeste jsem nasel jednu moznost:
Pokud pouzivas pro pristup do PostGreSQL python-psycopg, pak
existuje jeste jedna moznost, jak zjistit jmena sloupecku:
kurzor = db.cursor()
kurzor.execute("""Prislusny SELECT""")
kurzor.description - tato funkce vypise ta jmena sloupecku
a k nim jeste nejake dalsi veci. Pokud potrebujes pouze jmena
sloupecku, pak se daji vypsat takto:
colnames = [t[0] for t in kurzor.description]
Dalsi zajimave veci (aneb jak udelat i to asociativni pole) lze
nalezt zde (ostatne i predchozi navod odtud cerpal):
http://initd.org/tracker/psycopg/wiki/PsycopgTwo
>
> Diky za radu
>
> *************************************************************************
> * Petr Skoda Tel : (323) 649201, l. 361 *
Mej se...
Honza
--
Ing. Jan Marek | Nez mi poslete prilohu .doc, .xls
University of South Bohemia | nebo .ppt, prectete si, prosim,
Academic Computer Centre | WWW stranku uvedenou na poslednim
Phone: +420-38-9032080 | radku signatury...
http://www.gnu.org/philosophy/no-word-attachments.cs.html
Další informace o konferenci Linux