Что такое PostgreSQL?

«Что такое PostgreSQL?» — вопрос из категории Базы данных, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

PostgreSQL — это мощная, объектно-реляционная система управления базами данных (СУБД) с открытым исходным кодом. Она известна своей надежностью, соответствием стандартам SQL и ACID, а также расширенными функциями, такими как поддержка JSON, полнотекстовый поиск и пространственные данные.

Ключевые особенности с точки зрения DevOps:

  • Надежность и отказоустойчивость: Поддержка синхронной и асинхронной репликации для создания отказоустойчивых кластеров.
  • Масштабируемость: Встроенное партиционирование таблиц для управления большими объемами данных.
  • Расширяемость: Возможность создания пользовательских типов данных, функций и даже языков программирования (например, PL/pgSQL, PL/Python).
  • Интеграция с инфраструктурой: Легко контейнеризируется (Docker), управляется инструментами оркестрации (Kubernetes) и мониторится (Prometheus, pg_stat_statements).

Пример развертывания через Docker:

# docker-compose.yml для быстрого старта
version: '3.8'
services:
  postgres:
    image: postgres:15-alpine
    environment:
      POSTGRES_DB: myapp
      POSTGRES_USER: admin
      POSTGRES_PASSWORD: ${DB_PASSWORD}
    volumes:
      - postgres_data:/var/lib/postgresql/data
    ports:
      - "5432:5432"
volumes:
  postgres_data: