Getting Help
- Report bugs or request features? 👉 GitHub Issues
- Community for pgschema users? 👉 Join Discord
- Need commercial support? 👉 Contact us
Compatibility
Which PostgreSQL versions are supported?
pgschema is tested with PostgreSQL versions 14, 15, 16, and 17. While it may work with older versions, we recommend using one of these tested versions for the best experience.What operating systems are supported?
- Linux (AMD64)
- macOS (Apple Silicon)
Can I use pgschema with cloud PostgreSQL services?
Yes, pgschema works with any PostgreSQL-compatible database that you can connect to, including:- Amazon RDS for PostgreSQL
- Google Cloud SQL for PostgreSQL
- Azure Database for PostgreSQL
- Supabase
- Neon
- And other PostgreSQL-compatible services
How do I handle database-specific settings?
pgschema focuses on schema structure (tables, indexes, functions, etc.) and doesn’t manage:- Database-level settings
- User/role management
- Tablespace configuration
- Extensions
What happens if a migration fails?
- For most changes, pgschema executes them in a transaction and will roll back on failure
- For changes containing non-transactional statements (like
CREATE INDEX CONCURRENTLY
), each statement runs in its own transaction - Your database will remain in its previous state for transactional changes. When migrations include non-transactional DDL statements, partial application may occur if a later statement fails
- You’ll see a clear error message indicating what went wrong
- Fix the issue in your schema file and try again
Troubleshooting
Why does pgschema show no changes when I expect some?
Common causes:- The changes are in objects pgschema doesn’t track yet
- The database already matches your desired state
- You’re comparing against the wrong schema (check
--schema
flag)
--debug
flag for more detailed output.
How do I debug connection issues?
For connection problems:- Verify PostgreSQL is running:
pg_isready -h host -p port
- Check your credentials and permissions
- Ensure the database exists
- Check network/firewall settings
- Try connecting with
psql
using the same parameters
What permissions does pgschema need?
pgschema needs:CONNECT
privilege on the databaseUSAGE
privilege on the target schemaCREATE
privilege on the schema (for new objects)- Appropriate privileges for all object types you’re managing
SELECT
privileges are needed.
Advanced Topics
How does pgschema handle dependencies?
pgschema automatically:- Detects dependencies between database objects
- Orders DDL statements to respect dependencies
- Creates objects in the correct order
- Drops objects in reverse dependency order
How does pgschema detect concurrent schema changes?
pgschema uses fingerprinting to detect if the database schema has changed since the migration plan was created:- A fingerprint (hash) of the current schema is calculated during planning
- Before applying changes, pgschema verifies the fingerprint still matches
- If the schema has changed (concurrent modifications), the apply operation will fail safely
- This prevents conflicts and ensures migrations are applied to the expected schema state