simulace MySQL na Postgresu
Karel Zak
kzak na redhat.com
Čtvrtek Srpen 4 12:51:02 CEST 2005
On Wed, 2005-08-03 at 14:48 +0200, Jan Marek wrote:
> 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...
Ale...
import pg
>>> src = pg.DB(dbname=aaa,host=bbb,user=ccc,passwd=ddd)
>>> src.query("SELECT id FROM foo LIMIT 1").dictresult()
[{'id': 105632}]
Object result obsahuje metody getresult() -- vraci pole a dictresult()
-- vraci python dictionary (tedy asoc.pole).
Balicek postgresql-python (FC/RH), nebo python-pygresql (debian).
Karel
--
Karel Zak <kzak na redhat.com>
Další informace o konferenci Linux