Přeskočit na obsah
_CORE
AI & agentní systémy Podnikové informační systémy Cloud & Platform Engineering Datová platforma & integrace Bezpečnost & compliance QA, testování & observabilita IoT, automatizace & robotika Mobilní & digitální produkty Bankovnictví & finance Pojišťovnictví Veřejná správa Obrana & bezpečnost Zdravotnictví Energetika & utility Telco & média Průmysl & výroba Logistika & e-commerce Retail & věrnostní programy
Reference Technologie Blog Know-how Nástroje
O nás Spolupráce Kariéra
CS EN DE
Pojďme to probrat

Migrace z Oracle na PostgreSQL — proč a jak

12. 02. 2014 Aktualizováno: 24. 03. 2026 2 min čtení CORE SYSTEMSdata
Tento článek byl publikován v roce 2014. Některé informace mohou být zastaralé.
Migrace z Oracle na PostgreSQL — proč a jak

Oracle Database nás provází od roku 2003. Spolehlivý, výkonný, prověřený. Ale taky drahý. Když jsme spočítali licenční náklady za posledních deset let, číslo nás vyděsilo. Začali jsme hledat alternativu.

Proč PostgreSQL

Na seznamu kandidátů bylo několik databází: MySQL, MariaDB, PostgreSQL. MySQL jsme vyřadili kvůli nejistotě kolem Oracle vlastnictví. PostgreSQL nás přesvědčil svou enterprise-grade sadou funkcí — window functions, CTE, partial indexes, JSONB podpora. PostgreSQL 9.3 přinesl materialized views a zlepšený JSON support. Komunita kolem PostgreSQL je aktivní a profesionální.

Co jsme migrovali

Vybrali jsme interní systém pro správu projektů — přibližně 120 tabulek, 50 stored procedures, desítky views. Ne náš největší systém, ale dostatečně komplexní na ověření proveditelnosti.

Nástroje a přechod datových typů

Použili jsme Ora2Pg pro export schématu a dat. Ruční opravy: NUMBER → NUMERIC, VARCHAR2 → VARCHAR, trigger-based auto-increment → SERIAL.

-- Oracle
CREATE TABLE projects (
    id NUMBER GENERATED BY DEFAULT AS IDENTITY,
    name VARCHAR2(200) NOT NULL,
    created_date DATE DEFAULT SYSDATE
);

-- PostgreSQL
CREATE TABLE projects (
    id SERIAL PRIMARY KEY,
    name VARCHAR(200) NOT NULL,
    created_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

PL/SQL → PL/pgSQL

Největší práce. Oracle-specifické funkce (NVL, DECODE, ROWNUM) jsme přepsali na COALESCE, CASE, ROW_NUMBER. Balíky (packages) nahrazeny schématy. Některé procedury jsme při přepisu zjednodušili — Oracle workaroundy už nebyly potřeba.

Výkon a monitoring

Na většině dotazů PostgreSQL srovnatelný s Oracle. EXPLAIN ANALYZE je fantastický nástroj — víc informací než Oracle EXPLAIN PLAN. Chybí nám Oracle Enterprise Manager a RAC clustering. pgAdmin je solidní, ale nedosahuje úrovně OEM.

Co je lepší v PostgreSQL

Cena: Nula korun za licence. Jednoduchost: Instalace za minuty, konfigurace v jednom souboru. JSONB: Ukládání a dotazování JSON dokumentů přímo v relační databázi.

Migrace se vyplatila

Po třech měsících práce běží náš projektový systém na PostgreSQL. Výkon je srovnatelný, provozní náklady výrazně nižší. Oracle zůstane pro nejkritičtější systémy, ale PostgreSQL je plnohodnotná enterprise databáze.

postgresqloraclemigraceenterprise
Sdílet:

CORE SYSTEMS

Stavíme core systémy a AI agenty, které drží provoz. 15 let zkušeností s enterprise IT.

Potřebujete pomoc s implementací?

Naši experti vám pomohou s návrhem, implementací i provozem. Od architektury po produkci.

Kontaktujte nás
Potřebujete pomoc s implementací? Domluvit schůzku