Skip to main content

Create modes in postgres flexible server

When you create a postgres flexible server you can set a value for createMode.

This can be set to any of the following values:

  • Create
  • Default
  • GeoRestore
  • PointInTimeRestore
  • Replica
  • ReviveDropped
  • Update

When creating a server via the portal through ClickOps, you won’t get the option to set this. It will be set to Default.

You can set the value when using a custom template or terraform.

In terraform, the attribute is called create_mode.

By default, our postgres terraform module has create_mode set to Default.

When you have an existing server and you need to upgrade the postgres version, e.g. from 15 to 16, you should change the create_mode value to Upgrade.

However, when you are creating a server, you must set the value of create_mode to anything except Update.

If you set the value to Update you will receive the following error:

performing Create: unexpected status 404 (404 Not Found) with error: ResourceNotFound

This is because when the createMode is set to Update, Azure expects the server to already exist.

This is documented in the AzureRM provider docs.

If you’re receiving this error in terraform, change the value for create_mode back to Default.

Here is an example PR showing this.

This page was last reviewed on 17 July 2024. It needs to be reviewed again on 17 July 2025 by the page owner platops-build-notices .
This page was set to be reviewed before 17 July 2025 by the page owner platops-build-notices. This might mean the content is out of date.