abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 10:44 | Komunita

Společně s openSUSE Conference 2018 probíhá dnes v Praze na Fakultě informačních technologií ČVUT jednodenní seminář CryptoFest 2018 (Twitter). Přednášky lze sledovat online na YouTube nebo na CCC.

Ladislav Hagara | Komentářů: 0
dnes 02:22 | Komunita

Barton George, zakladatel a vedoucí projektu Sputnik, představil na svém blogu čtyři nové mobilní pracovní stanice Dell Precision s předinstalovaným Ubuntu. Jedná se o modely 3530, 5530, 7530 a 7730. Mobilní pracovní stanice budou certifikovány pro RHEL 7.5.

Ladislav Hagara | Komentářů: 6
dnes 01:11 | Nová verze

Vyšla verze 5.12 prohlížeče map a GPS logů GPXSee. Nová verze přidává podporu Garmin JNX map a přináší mírné zlepšení výkonu/UX.

Martin Tůma | Komentářů: 0
včera 12:11 | Komunita

V Praze na Fakultě informačních technologií ČVUT probíhá openSUSE Conference 2018. Přednášky lze sledovat také online. Aktuální dění lze sledovat na Twitteru. Stisknutím zeleného tlačítka bylo dnes dopoledne vydáno openSUSE Leap 15.0.

Ladislav Hagara | Komentářů: 7
včera 11:44 | Komunita

Na Steamu probíhá do 28. května akce s názvem Spring Cleaning (Jarní úklid). V rámci akce lze hrát hry Don't Starve Together, Cities: Skylines, Tyranny, Borderlands 2, Middle-earth: Shadow of Mordor a Left 4 Dead 2 běžící na Linuxu zdarma [GamingOnLinux].

Ladislav Hagara | Komentářů: 2
24.5. 23:23 | Humor

Nová služba České pošty nazvaná Bezpečné úložiště nabízí až 100GB kapacitu pro "bezpečnou správu Vašich dat pod patronací důvěryhodného partnera Česká pošta".

… více »
Lol Phirae | Komentářů: 56
24.5. 22:14 | Bezpečnostní upozornění

Nova kritická hrozba VPNfilter bola zistená po dlhšiej spolupráce Talos s verejnými i súkromnými bezpečnostnými agentúrami. VPNfilter ohrozuje približne 500 000 zariadení v približne 54 krajinach. Zasiahnutí výrobcovia sú Linksys, MikroTik, NETGEAR, TP-Link (SOHO), QNAP (NAS). Správanie malwaru je nebezpečnej povahy, čo môže v určitých prípadoch spôsobiť škody veľkého rozsahu. Často tieto zariadenia sú na perimetri sieťe bez ochrany.

ewew | Komentářů: 5
24.5. 21:55 | Pozvánky

CSNOG (Czech and Slovak Network Operators Group), první československé setkání síťových operátorů, se uskuteční 11. a 12. června v Brně. Akce je určena poskytovatelům internetového připojení, síťovým operátorům, provozovatelům registrů, internetovým odborníkům a všem zájemcům o internetové a síťové technologie. Program je zaměřený na odborná, technická témata jako například síťová architektura, bezpečnost sítí, zpracování dat, DNS a další. Nutná je registrace.

Ladislav Hagara | Komentářů: 0
24.5. 21:33 | Komunita

Na Humble Bundle lze získat počítačovou hru, simulátor hackování, Hacknet (Wikipedie, YouTube) běžící také v Linuxu zdarma. Tentokrát je ke stažení také verze bez DRM a navíc soundtrack. Speciální akce končí v sobotu v 19:00.

Ladislav Hagara | Komentářů: 0
23.5. 20:11 | Zajímavý software

Alexandre Julliard oznámil jménem vývojového týmu Wine vydání první verze 1.0 knihovny vkd3d určené pro překlad volání Direct3D 12 na Vulkan. Zdrojové kódy vkd3d jsou k dispozici pod licencí LGPLv2.1+.

Ladislav Hagara | Komentářů: 1
Používáte pro některé služby inetd?
 (35%)
 (23%)
 (42%)
Celkem 155 hlasů
 Komentářů: 5, poslední 22.5. 16:46
    Rozcestník

    Dotaz: Jak v hstore najít klíče odpovídající reg. výrazu

    11.8.2011 00:25 Petr Bolf
    Jak v hstore najít klíče odpovídající reg. výrazu
    Přečteno: 303×
    Dobrý den, prosím o radu. Mám vytvořenou postgresql databázi projektu openstreetmap. Princip je takovýto, mám tři typy geografických objektů, node, way a relation. Můj problém je pro všechny tři typy stejný, takže dále budu hovořit jen o relations.

    Relation může mít libovolný počet tagů. Tag je údaj typu klíč: hodnota. V databázi to je řešeno takto:

    CREATE TABLE relations
    (
      id bigint NOT NULL,
      "version" integer NOT NULL,
      user_id integer NOT NULL,
      tstamp timestamp without time zone NOT NULL,
      changeset_id bigint NOT NULL,
      CONSTRAINT pk_relations PRIMARY KEY (id)
    )
    
    CREATE TABLE relation_tags
    (
      relation_id bigint NOT NULL,
      k text NOT NULL,
      v text NOT NULL
    )

    A já chci najít všechny relace, které nějak souvisí se železnicí, tedy mají klíč rail, railway, rail_station atd. Je to snadné:

    SELECT relation_id FROM relation_tags WHERE v LIKE 'rail%' GROUP BY relation_id ORDER BY relation_id

    No, jenže strukturu tabulky osm změnili tak, že místo tabulky pro tagy je sloupec typu hstore. To se mi líbí, ale mám problém.

    CREATE TABLE relations
    (
      id bigint NOT NULL,
      "version" integer NOT NULL,
      user_id integer NOT NULL,
      tstamp timestamp without time zone NOT NULL,
      changeset_id bigint NOT NULL,
      tags hstore, --- toto nahrazuje tabulku relation_tags
      CONSTRAINT pk_relations PRIMARY KEY (id)
    )
    V manuálu jsem našel dost informací. Umím třeba najít všechny řádky, které mají pro určitý klíč hodnotu odpovídající nějakému výrazu :

    SELECT id FROM relations WHERE ((tags->'route') LIKE 'rail%');

    Ale já nepotřebuji hodnoty, ale klíče a neznám název klíče. Umím najít všechny řádky s klíčem a pomocí OR bych to třeba nějak zvládl:

    SELECT id FROM relations WHERE tags ? 'rail' OR tags ? 'railway' ;

    ale vidíte, že to není dobrá cesta. Potřebuji najít řádky, které mají ve sloupci tags typu hstore rail%:

    SELECT id FROM relations WHERE tags ? 'rail%';

    Ale to takhle nefunguje. Řešení, která mně napadají jsou velice krkolomná. Lze to nějak snadno?

    díky moc

    Petr Bolf

    Řešení dotazu:


    Odpovědi

    Řešení 1× (l0gik)
    11.8.2011 01:34 l0gik | skóre: 22
    Rozbalit Rozbalit vše Re: Jak v hstore najít klíče odpovídající reg. výrazu
    Použij funkci each - rozvine Ti hstore zpátky na tabulku. Něco jako

    WHERE exists(SELECT key FROM each(tags) WHERE key LIKE 'rail%')

    Akorát to nebudeš moct rozumně zaindexovat, takže asi by si na to chtělo napsat SQL funkci a zaindexovat tu. Pokud ale hodláš vyhledávat ještě silniční, vodní a nevímjaké věci, pak bych si tam dal trigger na změnu hstore a udržoval vedle tabulku s typama.
    11.8.2011 12:15 Petr Bolf
    Rozbalit Rozbalit vše Re: Jak v hstore najít klíče odpovídající reg. výrazu
    Díky moc za nakopnutí. To je přesně ono. Asi mi to pořád myslí spíše v duchu MySQL, tak se dost ztrácím v těch možnostech PostgreSQL :-)

    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.