Skip to content

Database Architecture

Pyxis CMS utilizes PostgreSQL as its primary data store. The architecture is designed to balance relational integrity with the flexibility required by a modern Headless CMS.

To ensure security and scalability, the system uses UUID for all primary keys. This approach prevents ID enumeration attacks and ensures that internal record sequences are never exposed via public APIs.

The system follows a “Best of Both Worlds” strategy:

  • Relational Core: Entities like users, roles, and pages maintain strict foreign key relationships to ensure data consistency.
  • Document-based Content: Dynamic data, such as SEO metadata and page sections, are stored in JSONB columns. This allows for schema flexibility without the overhead of frequent migrations.
  • Identity Layer: Manages administrative users and Role-Based Access Control (RBAC).
  • Content Layer: Stores page structures, routing (slugs), and authorship metadata.
  • Configuration Layer: Handles global system settings through a flexible key-value store.