Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

Kompletní průvodce PostgreSQL

01. 01. 2024 1 min čtení intermediate

PostgreSQL je nejpokročilejší open-source databáze. Tady je kompletní průvodce.

Instalace

Docker

docker run -d –name pg -e POSTGRES_PASSWORD=secret -p 5432:5432 postgres:16

psql

psql -h localhost -U postgres

Datové typy

  • INTEGER, BIGINT, NUMERIC
  • TEXT, VARCHAR
  • BOOLEAN
  • TIMESTAMP, TIMESTAMPTZ
  • JSONB
  • UUID
  • ARRAY

JSONB — nejlepší z obou světů

CREATE TABLE events (id serial, data jsonb);
INSERT INTO events (data) VALUES (‘{“type”: “click”, “page”: “/home”}’);
SELECT data->>’type’ FROM events; – operátor
CREATE INDEX idx_events_type ON events ((data->>’type’));

SELECT * FROM articles
WHERE to_tsvector(‘czech’, title || ’ ’ || body) @@ to_tsquery(‘czech’, ‘kubernetes & docker’);

Replikace

  • Streaming replication — async/sync, pro HA
  • Logical replication — per-table, pro migrace

Backup

Logical backup

pg_dump -Fc dbname > backup.dump
pg_restore -d dbname backup.dump

Physical backup

pg_basebackup -D /backup/path

Performance

EXPLAIN (ANALYZE, BUFFERS) SELECT …;
SELECT * FROM pg_stat_statements ORDER BY mean_exec_time DESC;

Extensions

  • pg_stat_statements — query statistics
  • PostGIS — geospatial data
  • pg_trgm — fuzzy search
  • TimescaleDB — time series

Proč PostgreSQL

Relační data + JSONB + full-text search + GIS + time series. Jeden engine, mnoho use cases.

postgresqldatabázesql