přejít na obsah přejít na navigaci

Linux E X P R E S

Příspěvky Reportáž z Prague PostgreSQL Developers' Day 2012: Dopoledne

Reportáž z Prague PostgreSQL Developers' Day 2012: Dopoledne
rr5 16. 02. 2012, 08:13:21
Odpovědět  Odkaz 
Srdce mi trha, ze som nemohol prist.
Za postgre viziu sa prihovaram este k externym tabulkam a aby uz konecne spravili multi code page podporu... Nech to uz nemusime scriptovat mimo....
Loader by mohol generovat nejake logy. Bolo by aj vhodne vymysliet dblink na ine typy databaz. Partitioning neviem ci uz je v 9.1 vyrieseny...
A este pgadmin by mohli trosku vylepsit:-)
Inak si myslim ze uz dnes postgre je leader v open source db
Re: Reportáž z Prague PostgreSQL Developers' Day 2012: Dopoledne
Tomáš Vondra 16. 02. 2012, 23:42:23
Odpovědět  Odkaz 
Ale to jdete s křížkem po funuse, protože část těch věcí už je vyřešená (právě od 9.1 která vyšla na podzim).

1) collations jde specifikovat na úrovni databází, tabulek, sloupců nebo dokonce operací (viz. http://www.postgresql.org/docs/9.1/static/collation.html a dokumentace ke CREATE DATABASE/TABLE)

2) externí tabulky - Už dříve to bylo možné např. díky PL/Perl (stačílo napsat funkci která se připojila k jiné databázi a vracela tabulku), nicméně 9.1 podporuje SQL/MED standard který se věnuje právě propojení různých databází. Implementace "foreign data wrapper" modulů není úplně triviální nicméně existuje poměrně pěkná sada - viz. http://wiki.postgresql.org/wiki/Foreign_data_wrappers (mimo jiné pro Oracle, MySQL, twitter, redis, textové soubory, ...

3) dblink na jiný typ databáze - viz. předchozí bod

Akorát to logování u loaderu nevím (předpokládám že byl míněn pg_bulkload). PgAdmin se pořád vylepšuje, ale moc to nesleduji - jsem "konzolově založený."
Re: Re: Reportáž z Prague PostgreSQL Developers' Day 2012: Dopoledne
rr5 18. 02. 2012, 08:28:19
Odpovědět  Odkaz 
1) Pri loadovani dat, musim stale strazit, ci mam codepage suboru = ako je nastaven a databaza. Oracle mi to robi automaticky, tu to musim pred importom vzdy osetrit. No a collations som si odskusal v 9.1 a nefunguje to, pokial to neni utf-8, pada to. Suhlasim, moze to byt tym ze to neviem alebo nerobim spravne...

2)externu tabulku mam na mysli to, ze si napr xls alebo txt, csv namapujem (nalinkujem) ako internu tabulku, s ktorou pracujem v ramci databazy. Toto v 9.1 funguje?

3) dblink som zatial dokazal rozbehat len medzi postgres databazamy. Na oracle nikdy, a na db2 som nasiel nejaky kod od madarskeho programatora, napisany v C, ale nie je to nijako optimalizovane, pri > datach je to nepouzitelne

4) myslel som prikaz copy, co je oficialny loader v postgres, ktory je sice najrychlesi aky som kedy videl, ale len vdaka tomu, ze nerobi logy, ani nic ine.... Cize po loadovani neviem, ci mi vsetko preslo, preto sa neda pouzit. A teda mozeme tvrdit, ze postgre nema loader. Ja osobne pouzivam javu a vlastny loader.

Rad si necham od vas poradit...
Vdaka
Re: Re: Re: Reportáž z Prague PostgreSQL Developers' Day 2012: Dopoledne
Tomas Vondra 18. 02. 2012, 13:48:06
Odpovědět  Odkaz 
1) Osobně dávám přednost konzistentnímu chování před magií která se snaží detekovat kódovou stránku na základě obsahu souboru (a nevím o tom že by to Oracle dělal). Magie vede k tomu že to většinou funguje a pak to najednou spadne když se tam dostane soubor u kterého to není jednoznačné. Ono to ještě nějak jde když si řeknete "jenom české kódové stránky" ale jakmile jich musíte uvažovat víc tak je to konečná. Informace o kódování souboru je nedílnou součástí dat.

1b) Pokud vám collations nefungují nebo dokonce padají tak prosím o bugreport. Klidně to pošlete mně (tv@fuzzy.cz) a já to zareportuji na pgsql-bugs.

2) Ano, můžete použít například file_fdw (viz. linky na wiki stránce z minulého postu)

3) To proto že dblink je určený JENOM pro PostgreSQL databáze. Pro připojení na jiné datové zdroje (ať už jiné RDBMs nebo třeba textové soubory) je určen standard SQL/MED (Managing External Data) založený na foreign data wrappers (FDW). Opět viz. linky na předchozí stránce.

4) Copy buď projde celé nebo vůbec, je to chráněno transakcí. Takže vaše tvrzení "po loadovani neviem, ci mi vsetko preslo" je omyl. Buď prošlo všechno nebo nic. Tohle chování ale také není ideální - bylo by pěkné mít možnost naloadovat co jde a někam uložit problematické řádky.
Re: Re: Re: Re: Reportáž z Prague PostgreSQL Developers' Day 2012: Dopoledne
rr5 18. 02. 2012, 21:46:13
Odpovědět  Odkaz 
2 a 3)
tak to idem hned studovat a skusat a dam vediet

Zatial vrela vdaka za pomoc
Re: Re: Re: Re: Re: Reportáž z Prague PostgreSQL Developers' Day 2012: Dopoledne
rr5 18. 02. 2012, 22:41:41
Odpovědět  Odkaz 
No tie externe tabulky naozaj funguju :-)
(file_fdw)

No ak by ste mi mohli este pomoct, nikde na webe som to zatial nenasiel:
pgadmin mi tie externe tabulky vobec nezobrazuje... select z nich mi ide,
No nemam teraz ani prehlad ake som uz vytvoril...
Dakujem
Re: Re: Re: Re: Re: Re: Reportáž z Prague PostgreSQL Developers' Day 2012: Dopoledne
Pavel Stěhule 19. 02. 2012, 18:34:01
Odpovědět  Odkaz 
Ověřte si, jestli nemáte starší pgAdmin a případně jej aktualizujte.
Re: Re: Re: Re: Re: Re: Re: Reportáž z Prague PostgreSQL Developers' Day 2012: Dopoledne
rr5 19. 02. 2012, 21:11:07
Odpovědět  Odkaz 
Dobry vecer
Ja som stiahol v ten den aktualnu verziu... 9.1.2 a pgadmin 1.14.1
Medzi tabulkami sa nenachadzaju externe tabulky. Netreba doinstalovat nejaky extention alebo nieco?
Ja som vlastne spravil iba toto:
---------------
create extension file_fdw;
CREATE SERVER file_server FOREIGN DATA WRAPPER file_fdw;

CREATE FOREIGN TABLE mena (
meno text,
priezvisko text
) SERVER file_server
OPTIONS (format 'text', filename 'c:\xxx\mena.csv', delimiter ';', null '');


select * from mena (vysledky dostanem pekne...)

no medzi tables sa "mena" nezobrazuje....
----------------
Dakujem
Re: Re: Re: Re: Re: Re: Re: Re: Reportáž z Prague PostgreSQL Developers' Day 2012: Dopoledne
Pavel Stehule 20. 02. 2012, 08:56:01
Odpovědět  Odkaz 
Tahle verze by to umět měla - alespoň podle README. Ověřte si, že skutečně spouštíte tuto novou verzi - a jinak je tam dost možná bug :(
Re: Re: Re: Re: Re: Re: Re: Re: Re: Reportáž z Prague PostgreSQL Developers' Day 2012: Dopoledne
rr5 20. 02. 2012, 12:06:29
Odpovědět  Odkaz 
"Ověřeno"
skusal som to aj pod ubuntu aj pod win7
vsetko ciste nove instalacie....

A vam to zobrazuje?
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Reportáž z Prague PostgreSQL Developers' Day 2012: Dopoledne
rr5 20. 02. 2012, 21:43:01
Odpovědět  Odkaz 
Dobry vecer,
tak uz viem v com je problem, az sa hanbim...
foreign tables maju svoj vlastny node, je defaultne skryty. Treba ho v pgadmin /options / browser zaskrtnut....