Portál AbcLinuxu, 31. října 2025 08:15
Řešení dotazu:
1) aby výsledná tabulka nebyla příliš velká. Tabulek je kolem stovky, každá má něco kolem milionu záznamů. Obecně ty tabulky nepotřebuji spojovat, a nejsou spolu nijak provázány
2) Když ty tabulky updatuje paralelně několik klientů (8 konexi, každá updatuje jednu "malou" tabulku) tak nemusím řešit zamykání a podobné věci a mohu to dělat paralelně.
 9.10.2015 07:10
okbob             | skóre: 30
             | blog: systemakuv_blog
             | Benešov
        9.10.2015 07:10
okbob             | skóre: 30
             | blog: systemakuv_blog
             | Benešov
        
postgres=# do $$ -- iterace pres public a tabulky obsahujici sloupecek "c"
declare 
  _table_name text; 
  _m int; _aux int; -- zde pouzit odpovidajici datovy typ
begin
  for _table_name in 
     select table_name 
        from information_schema.columns
       where column_name = 'c' and table_schema = 'public'
   loop
     execute format('select max(%I) from %I.%I', 'c', 'public', _table_name) into _aux;
     _m := greatest(_m, _aux);
   end loop;
   raise notice 'maximum je %', _m;
end; $$;
NOTICE:  maximum je 100
DO
             14.10.2015 07:01
okbob             | skóre: 30
             | blog: systemakuv_blog
             | Benešov
        14.10.2015 07:01
okbob             | skóre: 30
             | blog: systemakuv_blog
             | Benešov
        ( SELECT min(c) AS c1 FROM t1 ) UNION ( SELECT min(c) AS c1 FROM t2 )Vypsat nejmenší minimum:
SELECT min(c1) FROM ( ( SELECT min(c) AS c1 FROM t1 ) UNION ( SELECT min(c) AS c1 FROM t2 ) ) a;Důležité je nezapomenout pojmenovat odvozenou tabulku, v příkladu jsem pojmenoval jako "a". Pokud názvy tabulek předem neznáte, tak asi jedině pomocí SQL, které se předem vygenerujete. Pomocí procedury uložené v databázi anebo v programovacím jazyce, ze kterého sql dotaz spouštíte.
 9.10.2015 12:43
okbob             | skóre: 30
             | blog: systemakuv_blog
             | Benešov
        9.10.2015 12:43
okbob             | skóre: 30
             | blog: systemakuv_blog
             | Benešov
        
        Tiskni
            
                Sdílej:
                 
                 
                 
                 
                 
                 
            
    
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.