Skip to content

Feature/schema namespace#2

Merged
valehdba merged 3 commits intomainfrom
feature/schema-namespace
Apr 15, 2026
Merged

Feature/schema namespace#2
valehdba merged 3 commits intomainfrom
feature/schema-namespace

Conversation

@valehdba
Copy link
Copy Markdown
Owner

No description provided.

BREAKING CHANGE: All pgclone functions now live under the 'pgclone'
schema, created automatically by CREATE EXTENSION pgclone.

  pgclone_table(...)  → pgclone.table(...)
  pgclone_schema(...) → pgclone.schema(...)
  pgclone_database(...)  → pgclone.database(...)
  pgclone_version()   → pgclone.version()
  ... (all 23+ functions renamed)

The pgclone schema is created automatically via CREATE SCHEMA IF NOT
EXISTS in the extension SQL. The control file specifies schema=pgclone
so all objects are tracked under the extension.

C function symbols (PG_FUNCTION_INFO_V1) are unchanged — only the SQL
function names are affected via the AS clause mapping.

Upgrade path: DROP EXTENSION pgclone; CREATE EXTENSION pgclone;

Updated: SQL, control, META.json, C version string, all 4 test suites,
CI workflow, README, USAGE.md, ASYNC.md, TESTING.md, TESTING_MANUAL.md,
ARCHITECTURE.md, CHANGELOG.md. pre_deploy_checks: 22/22 pass.
Remove 'schema = pgclone' from control file — PostgreSQL validates
the schema exists BEFORE running the SQL script, causing a
chicken-and-egg failure on some versions.

Instead, the SQL script creates the schema itself and all CREATE
FUNCTION / CREATE VIEW / COMMENT ON statements use explicit
pgclone.xxx qualification. Extension object tracking via pg_depend
works correctly regardless of the control file schema setting.
…se()

pgclone_database_create() connects to the newly created database and
calls pgclone_database() via libpq. With the v4.0.0 schema namespace
change, these must be pgclone.database() instead.
@valehdba valehdba merged commit dfee688 into main Apr 15, 2026
10 checks passed
@valehdba valehdba deleted the feature/schema-namespace branch April 15, 2026 12:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant