Doplnil bych otázku - stále ještě funguje tsearch na principu, že se při ukládání vygeneruje do zvláštní tabulky seznam slov (co clovo to řádek) a pak se hledá v nich? Pokud ano, nedovolil bych si tomu říkat fulltext...:-(
Nebo - je dostupné ještě jiné řešení než tsearch, které je opravdu fulltextové, srovnatelné třeba s fulltextem v MySQL nebo MSSQL? Rád bych se k něčemu dopídil, ať už pro PG nebo pro Firebirda, ale na nic volně dostupného jsem nenarazil.
Ano tsearch tak pracuje. IMHO to je urcene k indexaci nejakych mensich textu ulozenych v DB (treba texty faktura, subjekty mailu apod.). O nicem jinem nevim, protoze jsem nikdy nic takoveho nepotreboval - tedy potreboval, ale nenaladlo mne na to pouzivat relacni DB (pouzil jsem htdig:-).
"Doplnil bych otázku - stále ještě funguje tsearch na principu, že se při ukládání vygeneruje do zvláštní tabulky seznam slov (co clovo to řádek) a pak se hledá v nich? Pokud ano, nedovolil bych si tomu říkat fulltext...:-( "
A jak si predstavujete, ze to dela takove MajEsKveEl? Prohledava radky? Tomu bych si pro zmenu nedovolil ja rikat "index." Ta Vami zminena "zvlastni tabulka" je nezbytna, at uz ji vidite nebo ne.
Hmm, a jak s touhle implementací chcete například hledat víceslovné výrazy? Nebo vážit, jak moc výsledek dotazu vyhovuje? Podívejte se třeba na http://jakarta.apache.org/lucene/docs/queryparsersyntax.html, jakým způsobem se používají fulltextové výrazy. tsearch je pouhý seznam slov, navíc značně neefektivní, rozhodně ne fulltext. Nevím, jak to má technicky řešené MySQL nebo zmíněný Lucene (vím, to není DB server), ale sotva takhle, soudě podle rychlosti zpracování a několika dalších funkcí.
Mimochodem, bylo by možné upravit stránku s příspěvky tak, aby v Mozille delší thready neujížděly do sloupce vpravo? Abych se dostal na odkaz pro reakci na příspěvek nade mnou, musel jsem oprášit IE :-(
Viceslovne vyrazy se daji hledat celkem snadno - staci kdyz k te tabulce slov bude i tabulka umisteni slov v dokumentu a budes hledat slova, ktera na sebe navazuji (lze to optimalizovat tak, ze najdu prvni slovo, podivam se, jestli mi vyhovuje nasledujici,jinak hledam dalsi vyskyt slova). Ohodnoceni - staci tabulku umisteni slov v dokumentu rozsirit o sloupec "hodnoceni", kde treba normalnim slovum priradim "1", slovum v nadpisu "10" apod.
Pouzivam PG uz delsi dobu. Mame na nem napsanou i cast podnikoveho IS, takze kazdou novou vlastnost s potesenim vitam. 7.4 mne trochu prekvapil - binarni data jsou otocena na urovni jednotlivych bytu. Je nutno rucne obracet byte po byte. Rovnez s tvorbou libpq pod widlema jsou problemy ( MS VC++ 4.2 ) - je treba upravovat standardni .h soubory.
Zaverem dotaz - lze nekde sehnat alespon strucny popis funkci v PG? Nemyslim tak strucny jako v pg_proc - alespon s par slovy textu. Dale tusi nekdo, proc se mi v databazi mnozi schemata typu pg_temp_xx? Jsou prazdna, ale bobtnaji.
Umi uz PG subtransakce/checkpointy? Tohle tusim do 7.4 slibovali, ale v release notes jsem to nenasel. Ne ze bych v Oraclu tohle prilis casto potreboval, ale strasne mi vadilo, ze kdyz jsem neco psal do prikazoveho radku a skoncilo to s chybou, tak jsem musel odrolovat celou transakci. V Oracle normalne delam to ze treba dam insert, a pokud spadne na UNIQUE klici, tak je jasne ze tam ta vec uz je a muzu normalne pokracovat dal. V PG musim delat rollback.
A jeste jedna vec ktera nevim jestli v PG je - neco jako Oraclovske packages - neco co umi uchovavat per-session data, a taky co udela oddeleny namespace pro funkce a procedury.
-Y.
PostgreSQL nie je tak zly ale ma zasadne nevyhody oproti MySQL a preto nie je tak rozsireny ako MySQL:
* tazsia instalacia (ziadne spustanie programov dbinit, ipc-daemon a podobne)
* velmi komplikovana instalacia na windowse - takmer nikde nie je mozne najst zrozumitelny navod ako to nainstalovat. Musite si stiahnut cygwin, potom ipc-daemon (ten je zabaleny v .bz2 takze staihnut specialny unzip), postgres a potom to mozno pojde. MySQL ma pre windows instalacny program, ktory pracuje bez problemov.
* jednoduchost a jednoznacnost. PostgreSQL ma vela prikazov a moznosti, ktore dokazu pekne zmiast. Navyse nezachovava uplnu kompatibilitu. Na starej verzii Postgresu som pouzival syntax SELECT ... LIMIT m,n a novej verzii som musel prepisat vsetky select na SELECT ... LIMIT m OFFSET n
Pokial viem, tak sa pracuje na nativnom porte na Windows. A PostgreSQL je oproti MySQL viac profesionalna, a preto pre vyvojarov asi nie je az taka dolezita podpora pre Windows (kedze ten na vela serveroch nenajdete).
Co sa tyka podpory, tak PostgreSQL je v podpore SQL spicka plne porovnatelna s komercnymi programami, MySQL sa nechyta ani zdaleka.
ad 1) toto je vazne nesmysl, ktery nema smysl komentovat...
ad 2) na win bych PG nikdy neprovozoval (ani pro testovaci ucely) - skoro bych navrhoval, at se zadny port PG pro win nedela
ad 3) nesmysl, PgSQL je naopak velmi citely a co se tyce kompatibility - vyzkousejte i jine produkty a pak sudte :-)