pg_tviews 0.1.0-beta.12

Transactional materialized views with incremental refresh for PostgreSQL
services:
  pg_tviews_bench:
    build:
      context: ..  # Build from parent directory (contains pg_tviews)
      dockerfile: pg_tviews/docker/dockerfile-benchmarks
    container_name: pg_tviews_bench
    environment:
      - POSTGRES_DB=pg_tviews_benchmark
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
      - PGDATA=/var/lib/postgresql/data
    volumes:
      # Mount results directory for easy access from host
      - ../pg_tviews/test/sql/comprehensive_benchmarks/results:/benchmarks/results
      # Optional: mount PostgreSQL data for persistence
      - pgdata:/var/lib/postgresql/data
    ports:
      - "5433:5432"  # Map to 5433 to avoid conflict with host PostgreSQL
    shm_size: 2gb  # Important for PostgreSQL performance (increase for large scale)
    deploy:
      resources:
        limits:
          memory: 16G  # Adjust based on scale: 4G for small, 8G for medium, 16G+ for large
        reservations:
          memory: 4G
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres -d pg_tviews_benchmark"]
      interval: 10s
      timeout: 5s
      retries: 5
    # Keep container running for interactive benchmark execution
    command: postgres

volumes:
  pgdata:
    driver: local