Hi NocoDB team and community,
We’re evaluating NocoDB for our organization but have encountered what appear to be fundamental limitations with the Postgres Data Reflection feature. These issues are potential deal-breakers for our adoption.
Issue 1: Non-Configurable Schema Naming
NocoDB creates schemas using base IDs (e.g., pd3r9cggvw555a4, pe692u2ogu3fokj) which creates several problems:
-
database pollution: Our DBAs see these as cryptic/spam-like entries
-
no semantic meaning: Impossible to identify which schema belongs to which project
-
breaks naming conventions: Conflicts with our existing database standards
Is schema naming configurable or on the roadmap?
This is essential for company environments.
Issue 2: Incomplete Table Discovery/Reflection
Despite documentation claiming “everything is perfectly mirrored,” NocoDB only displays tables created through its UI.
Evidence from our testing:
- Database contains 4 tables:
Table-1,Table-2,newtable,organization_test - NocoDB UI only shows 2 tables:
Table-1,Table-2 - Tables created via DDL (
newtable,organization_test) are invisible in UI - All tables have same owner (
nocodb) and exist in same schema
This breaks critical use cases:
- cannot use foreign tables
- cannot use database migrations
- cannot create views or other database objects we created from others schemas.
This seems to contradict the “Data Reflection” feature entirely - it’s more like “UI-Created Table Reflection” only.
- Is full bi-directional schema reflection actually supported?
- If not, are there plans to implement true database reflection?
- Are there any workarounds to make externally-created tables visible?
We’re excited about NocoDB’s potential, but without true database reflection, we cannot proceed with adoption as it would require rebuilding our entire data infrastructure through the UI.
Looking forward to clarification on whether these are known limitations or if I am missing something in my setup.
p.s.: also curious about the NC_DISABLE_PG_DATA_REFLECTION environment variable. How would behavior change if we disable it?
Currently, we’re using NC_DB with this configuration:
json
{
"client": "pg",
"connection": {
"host": "postgres.hostname",
"user": "nocodb",
"password": "PASSWORD",
"database": "database_name",
"schema": "schema_name"
},
"searchPath": ["schema_name"]
}
Would disabling data reflection force NocoDB to use our specified schema instead of creating new ones with base IDs? And would this potentially solve the table visibility issue?