Preskoči na glavno vsebino

Prechod z PostgreSQL 8.x na 9.x pomocou pg_dumpall

Medzi PostgreSQL verziou 8.x a 9.x došlo k niekoľkým zmenám, ktoré bránia plynulému prechodu.

Avtor: Petr Pech

Pre viac informácií o spôsoboch prechodu prejdite na článok Presunutie FlexiBee na nový server.

Cesta pomocou pg_dumpall sa javí ako jednoduchšia varianta, najmä ak máte viac firiem a používateľov. Existujú tu však určité úskalia. Najskôr pomocou pg_dumpall vytvoríte kompletnú zálohu, prenesie­te ju na nový server, nainštalujete FlexiBee server a následne zálohu pomocou psql obnovíte. Potom sa pripojíte do každej databázy firiem a vykonáte niekoľko úprav:

  1. verzia 9.x začala uplatňovať prístupové práva na „large objects". Na nastavenie správnych práv použite nasledujúcu funkciu:

  2. Ďalej je potrebné do databázy pridať extension unaccent: CREATE EXTENSION IF NOT EXISTS unaccent;

  3. Potom je potrebné nastaviť rovnaké správanie reťazcov ako v 8.x (vypnúť správanie podľa SQL normy)

  4. Nakonec zkontrolovat správné nastavení databáze firmy a template0: Encoding - UTF8, Collate - cs_CZ.UTF-8, Ctype - cs_CZ.UTF-8

%firmaDbName% a %firmaRole% nahraďte názvom databázy a názvom roly (rola býva v tvare „nazevfirmyrole", napríklad firma „Test" bude mať rolu „testrole"). Tieto úpravy je potrebné vykonať pre každú databázu firmy. Je dôležité nainštalovať FlexiBee pred obnovením databáz, aby sa nastavilo správne locale.

Ste s tem dobili odgovor na svoje vprašanje?