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,