<-- Back

Deployment fails with error: column name "ctid" conflicts with a system column name in Mendix Cloud

Issue

Deployment to a Mendix Cloud environment may fail during the database update step. This step takes place during application startup if there are domain model changes, such as new entities, attributes, or index definitions. During this step, Mendix tries to align the database structure with the updated domain model by running Data Definition Language (DDL) commands. These commands create, alter, or drop database tables, columns, indexes, and constraints as needed.

In some cases, deployment to a Mendix Cloud environment fails with the following error in the deployment logs:

An error occurred while executing action 'Execute DDL commands'.
com.mendix.m2ee.api.internal.AdminException: Executing DDL commands failed.
Caused by: org.postgresql.util.PSQLException: ERROR: column name "ctid" conflicts with a system column name 

The application build succeeds locally, but publishing or deploying to the Mendix Cloud environment fails during the database update step.

Environment

Applications hosted in Mendix Cloud

Cause

The issue occurs because  ctid is used as an attribute name in the domain model. In PostgreSQL, ctid is a reserved system column name that identifies the physical location of a row in a table. Since PostgreSQL manages this column internally, it cannot be used as a custom attribute name in Mendix applications. Any attempt to create or modify a table with a user-defined column named ctid results in a conflict with this reserved system column.

Solution / Workaround

To resolve the deployment failure, rename any domain model attributes that are named ctid to a different name that does not conflict with PostgreSQL system keywords.

Follow these steps:

  1. Open the affected project in Mendix Studio Pro.

  2. In the Domain Model, locate the entity or entities where ctid is used as an attribute name.

  3. Rename the attribute to a different name.

  4. Save the changes.

  5. Build a new deployment package and deploy it to the Mendix Cloud environment.

To monitor future deployments and troubleshoot similar issues, it is advised to open Live Logs before starting a deployment in the Mendix Portal. This allows you to capture the full error messages generated during the deployment. 

Internal information related

255744, 236505, 63765

CLDOPS-14368

C5SASDZBN/p1524733787000544

Additional information

Mendix documentation:

Have more questions? Submit a request

0 Comments

Article is closed for comments.

To provide feedback, please open a ticket here. Don't forget to include the article's URL along with the feedback you would like to provide.