na listach postgresowych pojawiły się wątki tyczące tego, że ludzie (w tym np. ja) nie dostrzegli wszystkich zmian.
faktycznie tak jest – bazowałem na “todo", a okazuje się, że jest sporo fajnych zmian nie uwzględnionych w tym dokumencie.
podrzucam zatem drugą część zmian:
- wartości wielorekordowe. używane np. przy insertach (insert into table (a,b,c) values (1,2,3), (4,5,6), …; – choć nie wiem czy taka dokładnie składnia będzie) – ale także wszędzie gdzie jest dopuszczalny (sub-)select.
- pg_dump będzie obsługiwał wielokrotne -n oraz -t, oraz umożliwiał wybieranie obiektów do zdumpowania przy pomocy regexpa. dla mnie osobiście jest to wielki bonus, bo umożliwi mi wreszcie normalne dumpowanie baz replikowanych slony'ym.
- agregaty wieloargumentowe – w tym agregaty statystyczne uwzględnione w standardzie sql2003
- porównywanie zmiennych “rekordowych". np. możliwośc zrobienia w triggerze: if row(new.*) is distinct from row(old.*)
- DROP … IF EXISTS
- poprawki w tsearch2 – wydajność, ale także funkcjonalność – tezaurus!
- nowy typ indeksów – gin. służy do indeksowania list odwrotnych – w szczególności powstał na potrzeby tsearch'a, ale można go używać niezależnie
- GRANT CONNECT ON DATABASE – dla wielu ludzi będzie to zbawienie, bo przestaną się martiwć, że ktoś obcy zobaczy nazwy ich tabelek 🙂
- funkcje w pl/pythonie obsługuja nazwane argumenty oraz mogą zwracać dane rekordowe.
- stats_command_string – pokazywanie aktualnie wykonywanego zapytania przez backend – do wersji 8.1.x wiązała się z pewnym (czasem dosyć sporym) obciążeniem serwera. w 8.2 overhead tego został praktycznie wyeliminowany i funkcja te jest włączona domyślnie 🙂
dodatkowo, w kolejce są jeszcze pewne patche, które nie zostały jeszcze zaakceptowane, ale ponieważ zostały zgłoszone przed ogłoszeniem feature-freez'a to mają szanse na włączenie do 8.2. są to między innymi:
- budowanie indeksów w locie, bez lockowania indeksowanej tablicy!
- update'owalne widoki. tzn. funkcjonalność do tego była od dawna, ale teraz ma to działać automatycznie. przynajmniej w relatywnie prostych sytuacjach.
- funkcjonalność INSERT/UPDATE RETURNING. czyli np. wydanie polecenia insert, tak aby został od razy zwrócony id nowo dodanego rekordu.
plus jeszcze jedna rzecz o której nie napisałem poprzednio (nie wiem czemu, wiedziałem, ale jakoś mi umknęło). w wersji 8.2 jest dużo poprawek tyczących się wydajności. naprawdę dużo. są ludzie którzy już teraz przesiadają się na 8.2 bo system “lata" zamiast “chodzić" czy “pełzać".
Comments are closed.