abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 17:55 | IT novinky

    Společnost Volla Systeme stojící za telefony Volla spustila na Kickstarteru kampaň na podporu tabletu Volla Tablet s Volla OS nebo Ubuntu Touch.

    Ladislav Hagara | Komentářů: 3
    včera 17:44 | IT novinky

    Společnost Boston Dynamics oznámila, že humanoidní hydraulický robot HD Atlas šel do důchodu (YouTube). Nastupuje nová vylepšená elektrická varianta (YouTube).

    Ladislav Hagara | Komentářů: 0
    včera 15:11 | Nová verze

    Desktopové prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklé sloučením projektů Razor-qt a LXDE bylo vydáno ve verzi 2.0.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 14:22 | IT novinky

    Nejvyšší soud podpořil novináře Českého rozhlasu. Nařídil otevřít spor o uchovávání údajů o komunikaci (data retention). Uvedl, že stát odpovídá za porušení práva EU, pokud neprovede řádnou transpozici příslušné směrnice do vnitrostátního práva.

    Ladislav Hagara | Komentářů: 0
    včera 05:33 | Zajímavý článek

    Minulý týden proběhl u CZ.NIC veřejný test aukcí domén. Včera bylo publikováno vyhodnocení a hlavní výstupy tohoto testu.

    Ladislav Hagara | Komentářů: 22
    včera 04:44 | Nová verze

    Byla vydána nová verze 3.5.0 svobodné implementace protokolu RDP (Remote Desktop Protocol) a RDP klienta FreeRDP. Přehled novinek v ChangeLogu. Opraveno bylo 6 bezpečnostních chyb (CVE-2024-32039, CVE-2024-32040, CVE-2024-32041, CVE-2024-32458, CVE-2024-32459 a CVE-2024-32460).

    Ladislav Hagara | Komentářů: 0
    včera 04:11 | Nová verze

    Google Chrome 124 byl prohlášen za stabilní. Nejnovější stabilní verze 124.0.6367.60 přináší řadu oprav a vylepšení (YouTube). Podrobný přehled v poznámkách k vydání. Opraveno bylo 22 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 02:22 | Nová verze

    Byla vydána nová verze 9.3 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Novinkou je vlastní repozitář DietPi APT.

    Ladislav Hagara | Komentářů: 0
    16.4. 18:44 | Nová verze

    Byl vydán Mozilla Firefox 125.0.1, první verze z nové řady 125. Přehled novinek v poznámkách k vydání, poznámkách k vydání pro firmy a na stránce věnované vývojářům. Vypíchnout lze podporu kodeku AV1 v Encrypted Media Extensions (EME). Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 125.0.1 je již k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    16.4. 16:44 | Nová verze

    Valkey, tj. svobodný fork již nesvobodného Redisu, byl vydán v první stabilní verzi 7.2.5.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (65%)
     (11%)
     (2%)
     (21%)
    Celkem 505 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: Nastavení databáze na nerozlišování velikosti písmen.

    4.9.2013 18:12 Hunt
    Nastavení databáze na nerozlišování velikosti písmen.
    Přečteno: 1974×
    Ahoj. Nevíte jak to udělat?

    Řešení dotazu:


    Odpovědi

    4.9.2013 18:13 Hunt
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    Jsem zapomněl napsat to hlavní. Jedná se o postgres.
    4.9.2013 19:01 axel
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    Jeste jsi zapomnel napsat, co si pod tim predstavujes. Zkus vysvetlit, ceho chces dosahnout, a podle toho pak lze poradit, jak se to udela...
    4.9.2013 20:11 Hunt
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    Jak mám udělat v postgres, abych vyhledával všechny uživatele třeba "Wall" ale i "wall" ale už né "wal" protože jsem zjistil že postgres rozlišuje velikosti písmen. Našel jsem že jde udělat select * from uzivatele where nick ~* 'wall'; ale to mi najde i uživatele wal a když to udělám takhle select * from uzivatele where nick = 'wall'; tak zase mi to nenajde Wall. Potřeboval bych to nějak spojit. Ale to nejde... mohl bych udělat lower(nick) ale to prý zpomaluje databázi. Jsem zvyklej u MySQL že to nerozlišuje. Tady jo.
    4.9.2013 20:31 Kit
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    CREATE TABLE uzivatel(nick text);
    INSERT INTO uzivatel values ('Wall');
    INSERT INTO uzivatel values ('wall');
    INSERT INTO uzivatel values ('WaLl');
    INSERT INTO uzivatel values ('Wal');
    INSERT INTO uzivatel values ('wal');
    INSERT INTO uzivatel values ('wAl');
    SELECT * FROM uzivatel WHERE nick ILIKE 'wal';
    
    4.9.2013 20:44 Hunt
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    Děkuju ILIKE. Super dekuji moc... a neni to nějaký zpomalující nebo tak něco? Nemá to prostě nějakou jinou svízel na kterou bych mohl narazit? Už jsem si zvykl, že všechno má věčinou nějakou svízel :D . To postgres je pro mě nové.
    4.9.2013 20:51 Kit
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    Svízel začne, když se začnou používat žolíky. Pro pár tisíc uživatelů bych to neřešil, milióny bych si normálně otestoval přímo na konkrétním stroji.
    4.9.2013 21:22 Hunt
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    Tak děkuji. Až bude milion uživatelů zaplatim si na to programátora který je skutečně programátor :D ... Jenom ještě jsem se chtěl zeptat co myslíte termínem "žolík" ?
    4.9.2013 21:37 Kit
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    Žolíky jsou zástupné znaky. Například "_" nahrazuje libovolný znak a "%" libovolnou posloupnost znaků. Mělo by se jimi šetřit, zejména na začátku hledaného stringu. Je také dobré tyto znaky ošetřit před zlobivými uživateli, aby nám systematicky nepřetěžovali databázi.
    4.9.2013 21:38 NN
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    divokou kartu ;)
    4.9.2013 21:42 Hunt
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    Aha... tak to asi vůbec nepoužívám, takže mě to zatím netrápí. Děkuji Vám za pomoc.
    Jakub Lucký avatar 4.9.2013 21:51 Jakub Lucký | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    If you understand, things are just as they are; if you do not understand, things are just as they are.
    4.9.2013 21:59 Kit
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    To je zrovna špatně. Správné řešení ILIKE je až na konci.
    4.9.2013 22:27 Hunt
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    A kde nakonci? Když to ILIKE dám na konec příkazu tak hodí error. NEbo jsem to nepochopil jak to myslíte teď.
    4.9.2013 23:05 Kit
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    Na konci odkazované diskuze.

    Syntaxe už zde byla popsána a předpokládal jsem, že je už všem zúčastněným jasná. Pokud ne, tak stačí nakouknout do referenční příručky. Místo ILIKE lze použít i operátor ~~*
    okbob avatar 4.9.2013 23:55 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    ILIKE je špatné řešení.
    4.9.2013 22:26 Hunt
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    to nepomůže když si někdo dá nick waLL
    okbob avatar 4.9.2013 23:54 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    Používání ILIKE nebo ILIKE operátoru (navíc bez žolíků) je ošklivé a matoucí.

    V Postgresu je extenze citext, která obsahuje datový typ citext - case insensitive text, což je to co chcete
    5.9.2013 00:28 Kit
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    Pěkné. Jen se nesmí zapomenout na
    CREATE EXTENSION "citext";
    okbob avatar 5.9.2013 05:23 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    Samozřejmě - je to extenze. Ale pokud si ji nainstalujete to template1, tak na ni nezapomenete.

    Navíc je případná chyba se jednoduše identifikuje - takže jakýkoliv unit test ji najde v několika prvních řádcích.
    5.9.2013 12:28 Hund
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    Toto tady mě mate. Proč je používání ILIKE ošklivé a matoucí? Záleží mi na tom abych to napsal správně.
    5.9.2013 12:55 Kit
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    Typ citext má výhodu v tom, že index je již optimalizován pro vyhledávání case_insensitive a hodí se tedy pro větší počet záznamů. Pokud však sloupec nebude indexován (do několika tisíc položek to zpravidla není nutné) je ILIKE jednodušší na použití - není třeba přidávat extension.

    ILIKE se používá zpravidla ve spojení se žolíky. Nejsou však nezbytně nutné.
    5.9.2013 14:25 axel
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    ILIKE nepouzije index, coz muze byt fatalni vykonnostni problem. Specialne v pripade, ze ve skutecnosti neni zadny like potreba, ale jde o dotaz na presnou shodu bez ohledu na case (scenar vyberu konkretniho uzivatele). Pak je nejvhodnejsi funkcni index pro lower a pouziti lower. Nebo dokonce pridani sloupce s lower hodnotou (to bude fungovat vsude, ne kazda DB ma funkcni indexy nebo specialni rozsireni pro ignore case).
    5.9.2013 14:39 Hund
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    No já jsem teď zkoušel ten CITEXT podle návodu tady http://www.postgresql.org/docs/9.1/static/citext.html a vyhodí mi to ERROR: type "citext" does not exist
    Tarmaq avatar 5.9.2013 15:07 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    a pouzil jsi vyse zminene CREATE EXTENSION "citext";?
    Don't panic!
    5.9.2013 15:22 Hund
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    Ano ale nevim jestli správně... když jsem to hodil normálně do command line tak : ERROR: permission denied to create extension "citext"
    Tarmaq avatar 5.9.2013 16:10 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    zrejme uzivatel, pod kterym to spoustis, nema dostatecna opravneni..
    Don't panic!
    5.9.2013 16:16 Hund
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    Jo takhle... to bude určitě pravda no. To mě nenapadlo.
    5.9.2013 16:34 Hund
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    No ale nějak mi to nejde... dám jako ROOT

    create database nova_database encoding 'utf8' owner hunt;

    pak

    CREATE EXTENSION "citext";

    a pak jako hunt se snažim udělat nick CITEXT UNIQUE not null, a prostě ERROR: type "citext" does not exist
    5.9.2013 17:21 axel
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    Uz jsi nekdy zadal chybovou hlasku do google? Zkus to!
    5.9.2013 17:30 Hund
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    Ano. Prostě jsem to neposkládal. Používám pořád google.
    okbob avatar 5.9.2013 17:53 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    Protože ten správný uživatel s právy na instalaci extenze (tzv superuser) je "postgres"

    melo by fungovat:
    su
    su postgres
    psql vasedb
    CREATE EXTENSION "citext";
    
    Postgres neběží s právy roota jelikož by to bylo bezpečnostní riziko - takže má vlastního "roota" čímž je uživatel Postgres.

    Původně jsem to tady nechtěl vytahovat, ale možná by Vám pomohlo školení - 23. října - PostgreSQL efektivne - Základní administrace PostgreSQL, vysvětlení základních funkcí PostgreSQL ovlivňujících chování MVCC, TOAST - cílem školení je vysvětlit nejdůležitější funkce PostgreSQL, tak aby účastník školení dokázal efektivně nasadit a provozovat PostgreSQL (ROOT). Školím pro iinfo.
    5.9.2013 19:54 Hund
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    No ale takhle v podstatě jsem to dělal, jak jste napsal... s tim rootem jsem to napsal špatně... to je zvyk z MySQL pochopitelně že postrgres, tak to testuju na windows, ale hodil jsem :

    postgres=# create database nova_database encoding 'utf8' owner hunt; CREATE DATABASE postgres=# CREATE EXTENSION "citext"; CREATE EXTENSION postgres=#

    a pak jsem se přihlásil na hunt a chtěl jsem udělat

    nick_uzivatele CITEXT UNIQUE not null,

    což by měl bejt stejnej postup ne? Nebo já už nevim, začínám toužit po MySQL.
    Řešení 1× (Šangala)
    okbob avatar 5.9.2013 20:42 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    Malá chybička - extenzi jste vytvořil v databázi postgres - extenze jsou per db, takže musíte být v cílové databázi nebo si ji nainstalujte do databáze template1. Potom ji budete mít automaticky ve všech nově vytvořených databázích.
    psql postgres
    postgres=# create database nova_database encoding 'utf8' owner hunt; 
    CREATE DATABASE 
    --- prepnout se do cilove db
    \c nova_database
    CREATE EXTENSION "citext"; 
    CREATE EXTENSION
    
    Jakmile se v pg rozkoukáte, tak to je v pohodě - úplně nejhorší na Postgresu je, že to nemá stejné ovládání jako MySQL.

    Jak vidím, měl bych do článku http://postgres.cz/wiki/P%C5%99echod_z_MySQL přidat ještě část o case sensitivity
    5.9.2013 22:06 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    Ještě mně tam napiš něco napiš, a to co mám dělat když migruji SMALLINT unsigned nebo i INT unsigned a nechci databázi velkou jak kráva( rýpu?), štve mě to a už několikrát jsem byl nešťastný, že se mi DB sakramentsky zvětšila (bo právě proto byly použity 2^16 a 2^32 datové typy, bo to je pro aplikaci platný rozsah).
    A taky jak s verzí > 9 udělit oprávnění více uživatelům(rolím) ke všem tabulkám (ve schema-tu) - bo to člověka fakt zarazí, a je dobré mít návod.
    A jako třešničku:
    CREATE TABLE tx ( x SMALLINT, PRIMARY KEY (x));
    INSERT INTO tx (x) VALUES(32767);
    SELECT x*2 AS val FROM tx;
    
    To jsou tři věci, které jsem tam nenašel, a které mě při migraci často zabolí (pominu-li, že mysql akceptuje INSERT bez INTO líní lidé jsou…).
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    okbob avatar 5.9.2013 23:17 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    co např. http://pgxn.org/dist/varint/0.1.0/? Podobných extenzí existuje vícero, stačí hledat - případně si ji napsat. Je to docela jednoduché, a dá se jako základ vzít některá existující.

    I 9.1 podporuje
    GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER }
        [, ...] | ALL [ PRIVILEGES ] }
        ON { [ TABLE ] table_name [, ...]
             | ALL TABLES IN SCHEMA schema_name [, ...] }
        TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
    
    GRANT SELECT ON ALL TABLES IN SCHEMA xxxx TO GROUP nejaka_grupa

    případně:
    do $$
      declare users text[] = ARRAY['pavel','postgres']; 
      u varchar; r record; 
    begin
      for r in 
        select * 
           from information_schema.tables 
          where table_schema = 'public' 
      loop
        for u in select * from unnest(users) 
        loop
          execute format('grant select on %I.%I to %I', r.table_schema, r.table_name, u);
        end loop; 
      end loop; 
    end;$$ ;
    
    Kdybych z nějakého důvodu nemohl použít skupiny (třeba z vlastní lenosti).

    99% z MySQL lze do Pg nějak převést - to 1 procento nejde - v několika málo ohledech tyhle dvě databáze mají úplně jinou filozofii, jiná řešení a měly (a mají) jiné priority vývoje.
    6.9.2013 09:50 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.

    Myslel jsem aby jsi to doplnil na wiki, bo to jsou věci, s kterými se přechodník setká a potrápí jej ;-)

    Ad. unsigned - dík, zajímavé řešení, ale jen pro situace kdy tabulka obsahuje velké rozpětí hodnot (tedy spíše spoustu malých a pár velkých) jinak je to nastejno jak užití vyššího datového typu nebo je to o kus horší (už 15bits ve 4B blééé)…

    Ad. Vím - jsem to musel už řešit několikrát, stojí za zmínku i ALTER DEFAULT PRIVILEGES IN SCHEMA… - což je už konečně to co je „třeba“ :), ale chtěl jsem napsat verzi < 9 (, ale nějak se mi pomíchali &gt; &lt; :-(), člověku dělající v MySQL to přijde velmi neohrabané a je zmaten - obdobnou fci používám, jen má nevýhodu, že po každém doplnění tabulek, se nesmí zapomenout ji použít.

    Ad. případ (třešnička) implicitního ne-přetypování na vyšší typ, tak na to spousta „obyčejných“ lidí co dělali jen s MySQL čučí jak čáp do trubky…

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    okbob avatar 6.9.2013 11:04 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    S přechodem na větší typ to je diskutabilní - datový typ musí být určen před vlastním během - a zbytečně jít do většího typu může způsobovat jiné výkonnostní problémy, takže tam neexistuje ve všech ohledech výhodnější řešení - a v MySQL vybrali A, a v PG B, přičemž každá varianta má svoje. Vzhledem k designu a podpoře přetížení se v PG musí víc explicitně přetypovávat - takže v PG se prostě typuje - a uznávám, že to může být šok pro někoho, kdo přechází z jakékoliv jiné DB. Typový systém je v PG bohatší a umožňuje docela hezké kousky, které ostatní db nezvládají (přetěžování, polymorfní typy, variadické funkce), ale je jiný, a složitější pro začátečníky.

    6.9.2013 12:53 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.

    Ju. Aby jsme si rozuměli, nechtěl jsem rozbíhat nic ve smyslu MySql vs. PostgreSql a obhajobu či hanění řešení. Jen když jsi zmínil doplnění wiki, já si ji přečetl, tak jsem navrhl doplnit další rozdíly, které považuji za důležité.

    Přiznávám, že absence unsigned nedokážu brát s nadhledem a jsem schopen/ochoten flejmovat na toto téma :-).

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    okbob avatar 6.9.2013 13:08 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    :)

    Taky si myslím. Za celou dobu, co tu dělám s Postgresem, se na mne s dotazem ohledně unsigned typů obrátili možná tak dva lidi, a z toho jeden jste Vy.

    Skoro každý program má pár vychytávek, které se tam dostaly při ranném vývoji, kdy se snažíte vyhovět každému (z těch málo prvních) zákazníků, a vůbec nemyslíte na zítřek nebo na nějakou koncepci. Před 10-12 lety bylo o dost jednodušší dostat do PG jakokoukoliv funkci, stačilo že vypadala dostatečně cool. Teď už jak se hodně důkladně rozvažuje, co přidat a co ne - bo to bude kód na minimálně 10 let a je hodně obtížná cesta zpět, pokud by se vymyslela nějaká bejkárna. Je to hodně konzervativní a pokud něco není přímo vyžadaváno ANSI SQL, tak dá hodně práce to protlačit.
    okbob avatar 6.9.2013 13:11 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    Pošli mi text, který tam mám dát. S tímhle jsem nikdy neválčil - a tudíž nemám tu správnou motivaci a znalosti, bych to napsal.
    6.9.2013 14:27 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    Tak tomu jsem se chtěl vyhnout :-), ale zesmolím a pošlu, řekněme do týdne…
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    5.9.2013 22:16 Hund
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    Děkuju Vám. Už jsem to rozchodil.
    okbob avatar 5.9.2013 17:56 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    To je správně - běžný uživatel nemá práva instalovat extenze. Prostřednictvím chybně napsaných extenzí lze snadno získat vyšší práva - a tudíž je vždy na administrátoru databáze, aby rozhodl a dovolil, které extenze se budou instalovat. Extenze z balíku postgresql-contrib jsou bezpečné - nicméně zatím stále platí omezení na superusera.
    okbob avatar 5.9.2013 18:09 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    LIKE (ILIKE) má jinou sémantiku - říkám tím, že budu vyhledávat na základě částečné shody, nikoliv ekvivalence. Kromě toho, že člověk ze sebe dělá tatara, tak se vám bez dalšího zvláštního zápisu (který si málokdo dohledá) nikdy nechytne index, což vede k pomalejšímu zpracování.

    Ve vašem případě je to podobné, jako kdybyste v běžném kódu místo A + B napsal A - -B, výsledek je stejný, ale každý bude muset přemýšlet, proč jste to napsal, tak jak jste to napsal - a než člověk přijde na to, že to je nezkušenost autora (případně trollování), z které automaticky nikoho nepodezíráte, tak se spálí hromada času.
    Tarmaq avatar 5.9.2013 18:33 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    jestli tomu rozumim spravne, pokud teda je pouzit datovy typ citext, tak ani pak neni treba pouzivat ILIKE, protoze i LIKE by mel nad citex sloupcem fungovat case insensitive - je to tak?
    Don't panic!
    okbob avatar 5.9.2013 20:43 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    ano
    okbob avatar 5.9.2013 21:11 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: Nastavení databáze na nerozlišování velikosti písmen.
    viz http://postgres.cz/wiki/Přechod z MySQL#Identifikátory a řetězce

    Funguje to dobře - pozor bez indexu jsou operace na citext typu pomalejší než na varcharu cca o 30% (což znamená, že by se měl používat s indexem nad 10 K řádků). Case insensitive porovnání je náročnější než case sensitive - což je u důvod, proč je to navrženo, tak jak je to navrženo.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.