collate "cs_CZ"

Transkript

collate "cs_CZ"
PostgreSQL
●
Čistě komunitní projekt
●
15 let vývoje, 600 tis. Řádek kódu
●
●
Vývoj zajišťuje cca 30 nadšenců (dnes již
většinou na fulltime), + desítky dalších
přispěvatelů a příznivců 230 (8.4), 275 (9.0)
PostgreSQL se používá v finančnictví, telco,
vědeckých institucích, NASA, v medicíně, v
strojírenství, dopravě
Historie
●
6.2 – oprava vážných chyb
●
7.4 – eliminace výkonnostních problémů (2003)
●
8.0 – podpora MS Windows (2004)
●
8.4 – integrace enterprise funkcí (2009)
●
9.0 – integrace podpory replikace (2010)
●
9.1 – synchronní replikace, ... (2011)
Metodiky vývoje
●
●
●
Jednoroční cyklus, zmražení seznamu
patchů, zpracování přijatých patchů,
testování, minimální formalizace procesu,
důraz na kvalitu kódu, kvalitu
dokumentace, kvalitu komentářů v CVS
Ve verzích 8.3, 8.4 nastává nezvladatelný
nárůst fronty přijatých patchů – požadavek
na změnu procesu
Éra commitfestů – kratší vývojové cykly,
každý patch je recenzován – úspora času
commiterů
Nástroje
●
Klasické vývojové nástroje gcc, gdb, diff, patch
●
CVS, dnes již Git
●
Mailing lists + zpřístupněné archivy
●
Wiki – mediawiki
●
DocBook
●
Jednoduché PHP evidence
●
Testovací farma
PostgreSQL 8.4
●
Nativní funkce Unnest a Array_agg
●
EXECUTE USING a CASE v PL/pgSQL
●
Rozšíření příkazu RAISE, RETURN QUERY
●
Variadické funkce a defaultní hodnoty
parametrů
●
Locales per databáze
●
Analytické funkce, CTE
●
Visibility maps a VACUUM, semijoin, antijoin
●
Paralelní import dumpu
Variadické funkce
CREATE OR REPLACE FUNCTION
myleast(VARIADIC anyarray)
RETURNS anyelement AS $$
SELECT min(v)
FROM unnest($1) g(v)
$$ LANGUAGE sql;
PostgreSQL 9.0
●
Podpora asynchronní replikace
●
Zjednodušená migrace
●
Hromadné nastavování práv
●
Anonymní bloky a pojmenované parametry
●
Agregační funkce s klauzulí ORDER BY
Anonymní bloky
DO $$
BEGIN
FOR i IN 1..10
LOOP
RAISE NOTICE 'Hello %', i;
END LOOP;
END;
$$
Agregační funkce
s klauzulí ORDER BY
SELECT string_agg(prijmeni, ','
ORDER BY prijmeni)
FROM zamestnanci
GROUP BY oddeleni;
Pojmenovane implicitní
parametry funkce
CREATE FUNCTION foo(a int = 3, b int = 0)
RETURNS ...
SELECT foo();
SELECT foo(10,20);
SELECT foo(10, b := 30);
SELECT foo(10);
SELECT foo(b := -1, a := 20);
PostgreSQL 9.1
●
Režim synchronní replikace
●
SQL/MED
●
COLLATION na úrovni sloupců
●
Pravá úroveň izolave SERIALIZABLE
●
Datový typ JSON
●
Příkaz MERGE
●
Integrace s SE-Linuxem
●
Funkce Median, Left, Right, Concat, Format
●
Globální dočasné tabulky
Podpora COLLATES
test=# select * from jmena
order by jmeno collate "cs_CZ";
jmeno
-----------Crha
Doucha
Gregor
Hrozný
Chromečka
(5 rows)
Podpora COLLATES
test=# select * from jmena where jmeno >= 'Hrozný'
collate "cs_CZ";
jmeno
-----------Hrozný
Chromečka
(2 rows)
test=# select * from jmena where jmeno >= 'Hrozný' collate "C";
jmeno
--------Hrozný
(1 row)
Triggery INSTEAD OF
CREATE VIEW v AS SELECT * FROM t1, t2 WHERE a = b;
CREATE OR REPLACE FUNCTION trg_handler()
RETURNS trigger AS $$
BEGIN
INSERT INTO t1 VALUES(new.a);
INSERT INTO t2 VALUES(new.b);
RETURN new;
END;
CREATE TRIGGER foo_trg
INSTEAD OF INSERT ON v
FOR EACH ROW EXECUTE PROCEDURE trg_handler();

Podobné dokumenty

DISTRIBUOVANÉ A OBJEKTOVĚ

DISTRIBUOVANÉ A OBJEKTOVĚ Tím, že jsme vytvořili repliku tabulky R v místě 2, tak zlevnily dotazy i aktualizace dat v tabulce R; musíme ale udržovat repliku synchronizovanou. Synchronizace vyžaduje propagovat všechny změny ...

Více

Západočeská univerzita

Západočeská univerzita SELECT – získávání dat INSERT – vkládání dat UPDATE – úprava dat DELETE – mazání dat Získávání dat (Data retrieval) Nejčastější operací prováděnou dotazovacím jazykem nad databázemi je získávání da...

Více

Distribuované programování na platformě Microsoft .NET

Distribuované programování na platformě Microsoft .NET 1. SingleCall = remote objekt je stateless a vytváří se při každém volání metody 2. Client-activated = remote objekt se chová stejně jako lokální objekty, tj. vytváří se pomocí konstrukce new a je...

Více

PostgreSQL 8.2 efektivne

PostgreSQL 8.2 efektivne Pro opakované importy se vyplatı́ použı́t jednoduchou funkci v untrusted PLperlu a v této funkci se připojit ke zdrojové databázi, zı́skat data a ta vrátit jako výsledek funkce. Odpadajı́ t...

Více

PostgreSQL ve verzi 9.2, 9.3 a 9.4 SQL

PostgreSQL ve verzi 9.2, 9.3 a 9.4 SQL Poddotaz se může objevit i v klauzuli FROM – pak jej označujeme jako derivovaná tabulka 14. I derivovanou tabulku lze spojovat s běžnými tabulkami (obojí je relací). Následující příklad zobrazí sez...

Více

Statistika v PostgreSQL pomocí R-project

Statistika v PostgreSQL pomocí R-project --nejnizsi namerene teploty v jednotlivych mesicich select datum, teplota From (select rank() over (PARTITION by extract(year from datum)*100 + extract(month from datum) order by teplota),* from po...

Více

Výsledky soutěží ZUŠ

Výsledky soutěží ZUŠ Karolína Krajníková II. kategorie

Více

Školení PostgreSQL efektivne - Všeobecná cást + administrace

Školení PostgreSQL efektivne - Všeobecná cást + administrace Shall the new role be a superuser? (y/n) n Shall the new role be allowed to create databases? (y/n) y Shall the new role be allowed to create more new roles? (y/n) y CREATE ROLE

Více

PostgreSQL 9.1 efektivne

PostgreSQL 9.1 efektivne Návrh vlastnı́ch funkcı́ C, PL/pgSQL, PL/SQL, PL/Perl, PL/Python, PL/Java, PL/Php, PL/R Podpora OUT parametrů Podpora Set Returning Functions (výsledkem je tabulka) Podpora ošetřenı́ chyb Podp...

Více