PostgreSQL 9.1
		
		
		
		Skočit na navigaci
		Skočit na vyhledávání
		
- ANSI SQL řetězce jsou nyní výchozí - tj. v řetězcové konstantě nedochází k interpretaci escape znaků
 - GUC quote_all_identifiers a pg_dump parametr --quote-all-identifiers
 - \conninfo
 - CREATE TABLE IF NOT EXISTS test_tsvector (...)
 - rozšíření kontrol použití agregačních funkcí o funkční závislosti (zde závislost na primárním klíči) - to je ve shodě se standardem a v podstatě je korektní implementace použití agregačních funkcí v MySQL (kde ovšem není kontrolováno nic).
 - úspornější formát pro NUMERIC
 - navigace v externím editoru
 - rozšíření funkcí string_to_array a array_to_string o podporu NULL
 - integrace funkce xpath_exists
 - integrace funkcí xml_is_well_formated
 - zobrazení zdrojového kódu funkce v psql
 - funkce left, right, reverse, concat a concat_ws
 - možnost integrace externího systému pro řízení zabezpečení - potenciálně možnost integrace s SE-Linuxem a podobnými systémy - SECURITY LABEL ON TABLE seclabel_tbl1 IS 'classified';
 - autocomplete proměnných v psql
 - možnost modifikovat data prostřednictvím CTE: WITH t1 AS(DELETE FROM src RETURNING *), t2 AS(INSERT INTO dest SELECT * FROM t1 RETURNING *) SELECT * FROM t2;
 - plperl podporuje IN parametry typu RECORD
 - funkce format pro snažší sestavování dynamického sql a chybových hlášení,
 - Object access hook framework, with post-creation hook,
 - libpq obsahuje možnost si zjistit dostupnost serveru - PQping a PQpingParams,
 - Docela zásadní funkce pro GiST - podpora KNNGIST - prohledávání nejbližšího okolí skrze GiST index tj. podpora ORDER BY,
 - podpora unlogged tables - tabulky, které nejsou chráněny transakčním logem,
 - Chyby způsobí vyvolání nativní pythonovské výjimky, pokud chyba nastala ve funkci napsané v PL/Pythonu,
 - Výchozí nastavení wal_buffers se přizpůsobuje nastavení shared_buffers,
 - pg_basebackup - aplikace pro zjednodušení provedení online binární zálohy,
 - možnost označit jako primární klíč existující sloupec s UNIQUE indexem,
 - popisnější výjimky v PL/Pythonu,
 - Support LIKE and ILIKE index searches via contrib/pg_trgm indexes,
 
explain (costs off)
  select * from test2 where t like '%BCD%';
                QUERY PLAN                
------------------------------------------
 Bitmap Heap Scan on test2
   Recheck Cond: (t ~~ '%BCD%'::text)
   ->  Bitmap Index Scan on test2_idx_gin
         Index Cond: (t ~~ '%BCD%'::text)
(4 rows)
- Instead triggery
 
CREATE TRIGGER name { BEFORE | AFTER | INSTEAD OF } { event [ OR ... ] }
    ON table [ FOR [ EACH ] { ROW | STATEMENT } ]
    [ WHEN ( condition ) ]
    EXECUTE PROCEDURE function_name ( arguments )
- validátor plpythonu,
 - úroveň SERAILIZABLE je nyní skutečně SERIALIZABLE - SELECT blokuje UPDATE,
 - logování situace, kdy autovacuum nemůže vacuuovat tabulku z důvodů zamknutí tabulky,
 - možnost nastavení atributu cizího klíče bez nutnosti okamžité kontroly obsahu sloupce. Atribut je možné dodatečně zkontrolovat příkazem VALID s nižšími požadavky na zamykání,
 - možnost označovat body obnovy textovým identifikátorem,
 - podpora COLLATION - locales na úrovni sloupce, možnost registrace vlastních collates,
 
CREATE TABLE collate_test2 (
    a int,
    b text COLLATE "sv_SE.utf8"
);
SELECT a, b FROM collate_test1 ORDER BY b COLLATE "C";
- podpora extenzí - metadat k rozšiřujícím modulům,
 - cyklus FOREACH v PL/pgSQL,
 - pomocné aplikační zámky lze omezit transakcí,
 - binární předávání polí do funkcí psaných v PL/Perlu,
 - podpora cizích tabulek dle standardu SQL/MED,
 - quote functions for PLPython,