pgschema supports ignoring specific database objects using a .pgschemaignore file, enabling gradual onboarding and selective schema management.
Overview
The.pgschemaignore file allows you to exclude database objects from pgschema operations. This is particularly useful when:
- Gradual Migration - Incrementally adopt pgschema without managing all existing objects
- Temporary Objects - Exclude temp tables, debug views, and development-only objects
- Legacy Objects - Ignore deprecated objects while maintaining new schema management
- Environment-Specific Objects - Skip objects that exist only in certain environments
File Format
The
.pgschemaignore file is automatically loaded when present in the current directory:.pgschemaignore file in your project directory using TOML format:
Pattern Syntax
Wildcard Patterns
Use* to match any sequence of characters:
Exact Patterns
Specify exact object names without wildcards:Negation Patterns
Use! prefix to exclude objects from broader patterns:
test_data, test_results but keep test_core_config, test_core_settings.
Triggers on Ignored Tables
Triggers can be defined on ignored tables. The table structure is not managed, but the trigger itself is.external_users table structure remains unmanaged.
