Skip to content

[5.x]: postgres exception during upgrade from v4 to v5  #15262

@burningchair

Description

@burningchair

What happened?

Description

Upgrade of craft4 to craft5 fails with a postgres (14) db exception (Insufficient privilege: 7 ERROR: permission denied) while applying migrations

I am able to perform the upgrade if I grant the db-user superuser permissions:
ALTER USER craftcms WITH SUPERUSER;

Steps to reproduce

  1. Create user and db and make the user owner of the database (create database db; create user craftcms identified by 'password'; alter database db owner craftcms;
  2. Install craft v4
  3. Update to craft v5

Expected behavior

Not needing any special permissions for upgrade (ownership of database should be enough) or some hint in the upgrade documentation

Actual behavior

php craft up causes
Exception: SQLSTATE[42501]: Insufficient privilege: 7 ERROR: permission denied: "RI_ConstraintTrigger_c_46854" is a system trigger

Full Exception

Exception: SQLSTATE[42501]: Insufficient privilege: 7 ERROR:  permission denied: "RI_ConstraintTrigger_c_46854" is a system trigger
The SQL being executed was: ALTER TABLE "public"."addresses" DISABLE TRIGGER ALL; ALTER TABLE "public"."announcements" DISABLE TRIGGER ALL; ALTER TABLE "public"."assetindexdata" DISABLE TRIGGER ALL; ALTER TABLE "public"."assetindexingsessions" DISABLE TRIGGER ALL; ALTER TABLE "public"."assets" DISABLE TRIGGER ALL; ALTER TABLE "public"."assets_sites" DISABLE TRIGGER ALL; ALTER TABLE "public"."authenticator" DISABLE TRIGGER ALL; ALTER TABLE "public"."categories" DISABLE TRIGGER ALL; ALTER TABLE "public"."categorygroups" DISABLE TRIGGER ALL; ALTER TABLE "public"."categorygroups_sites" DISABLE TRIGGER ALL; ALTER TABLE "public"."changedattributes" DISABLE TRIGGER ALL; ALTER TABLE "public"."changedfields" DISABLE TRIGGER ALL; ALTER TABLE "public"."comments_comments" DISABLE TRIGGER ALL; ALTER TABLE "public"."comments_flags" DISABLE TRIGGER ALL; ALTER TABLE "public"."comments_subscribe" DISABLE TRIGGER ALL; ALTER TABLE "public"."comments_votes" DISABLE TRIGGER ALL; ALTER TABLE "public"."craftidtokens" DISABLE TRIGGER ALL; ALTER TABLE "public"."deprecationerrors" DISABLE TRIGGER ALL; ALTER TABLE "public"."drafts" DISABLE TRIGGER ALL; ALTER TABLE "public"."elementactivity" DISABLE TRIGGER ALL; ALTER TABLE "public"."elements" DISABLE TRIGGER ALL; ALTER TABLE "public"."elements_owners" DISABLE TRIGGER ALL; ALTER TABLE "public"."elements_sites" DISABLE TRIGGER ALL; ALTER TABLE "public"."entries" DISABLE TRIGGER ALL; ALTER TABLE "public"."entries_authors" DISABLE TRIGGER ALL; ALTER TABLE "public"."entrytypes" DISABLE TRIGGER ALL; ALTER TABLE "public"."feedme_feeds" DISABLE TRIGGER ALL; ALTER TABLE "public"."fieldlayouts" DISABLE TRIGGER ALL; ALTER TABLE "public"."fields" DISABLE TRIGGER ALL; ALTER TABLE "public"."globalsets" DISABLE TRIGGER ALL; ALTER TABLE "public"."gqlschemas" DISABLE TRIGGER ALL; ALTER TABLE "public"."gqltokens" DISABLE TRIGGER ALL; ALTER TABLE "public"."imagetransformindex" DISABLE TRIGGER ALL; ALTER TABLE "public"."imagetransforms" DISABLE TRIGGER ALL; ALTER TABLE "public"."info" DISABLE TRIGGER ALL; ALTER TABLE "public"."maps" DISABLE TRIGGER ALL; ALTER TABLE "public"."matrixblocks" DISABLE TRIGGER ALL; ALTER TABLE "public"."matrixblocks_owners" DISABLE TRIGGER ALL; ALTER TABLE "public"."matrixblocktypes" DISABLE TRIGGER ALL; ALTER TABLE "public"."migrations" DISABLE TRIGGER ALL; ALTER TABLE "public"."plugins" DISABLE TRIGGER ALL; ALTER TABLE "public"."projectconfig" DISABLE TRIGGER ALL; ALTER TABLE "public"."queue" DISABLE TRIGGER ALL; ALTER TABLE "public"."recoverycodes" DISABLE TRIGGER ALL; ALTER TABLE "public"."relations" DISABLE TRIGGER ALL; ALTER TABLE "public"."resourcepaths" DISABLE TRIGGER ALL; ALTER TABLE "public"."revisions" DISABLE TRIGGER ALL; ALTER TABLE "public"."searchindex" DISABLE TRIGGER ALL; ALTER TABLE "public"."sections" DISABLE TRIGGER ALL; ALTER TABLE "public"."sections_entrytypes" DISABLE TRIGGER ALL; ALTER TABLE "public"."sections_sites" DISABLE TRIGGER ALL; ALTER TABLE "public"."sequences" DISABLE TRIGGER ALL; ALTER TABLE "public"."sessions" DISABLE TRIGGER ALL; ALTER TABLE "public"."shunnedmessages" DISABLE TRIGGER ALL; ALTER TABLE "public"."sitegroups" DISABLE TRIGGER ALL; ALTER TABLE "public"."sites" DISABLE TRIGGER ALL; ALTER TABLE "public"."structureelements" DISABLE TRIGGER ALL; ALTER TABLE "public"."structures" DISABLE TRIGGER ALL; ALTER TABLE "public"."systemmessages" DISABLE TRIGGER ALL; ALTER TABLE "public"."taggroups" DISABLE TRIGGER ALL; ALTER TABLE "public"."tags" DISABLE TRIGGER ALL; ALTER TABLE "public"."tokens" DISABLE TRIGGER ALL; ALTER TABLE "public"."usergroups" DISABLE TRIGGER ALL; ALTER TABLE "public"."usergroups_users" DISABLE TRIGGER ALL; ALTER TABLE "public"."userpermissions" DISABLE TRIGGER ALL; ALTER TABLE "public"."userpermissions_usergroups" DISABLE TRIGGER ALL; ALTER TABLE "public"."userpermissions_users" DISABLE TRIGGER ALL; ALTER TABLE "public"."userpreferences" DISABLE TRIGGER ALL; ALTER TABLE "public"."users" DISABLE TRIGGER ALL; ALTER TABLE "public"."volumefolders" DISABLE TRIGGER ALL; ALTER TABLE "public"."volumes" DISABLE TRIGGER ALL; ALTER TABLE "public"."webauthn" DISABLE TRIGGER ALL; ALTER TABLE "public"."widgets" DISABLE TRIGGER ALL; 

Craft CMS version

5.2.2

PHP version

8.2

Operating system and version

Ubuntu 23.10

Database type and version

Postgres 14

Image driver and version

No response

Installed plugins and versions

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions