dhiaayachi / temporal

Temporal service
https://docs.temporal.io
MIT License
0 stars 0 forks source link

Upgrade `postgres` to `postgres12` driver. #220

Open dhiaayachi opened 2 weeks ago

dhiaayachi commented 2 weeks ago

Hi. we have registered using driver postgres when using Postgres database. Now we want to upgrade to postgres12 driver. How can I check if it requires a DB schema update? If a schema update is needed, would it cause a downtime since we have roughly 50GB data on Production. Thanks a lot. :gratitude-thank-you:

dhiaayachi commented 1 day ago

Thank you for reporting your issue!

To determine if a database schema update is required when upgrading to the postgres12 driver, you can consult the release notes for the specific version of Temporal Server you are using (1.22.1).

If a schema update is needed, the release notes will provide specific instructions on how to perform it. However, based on the documentation, schema upgrades are generally sequential and should be performed in a step-by-step manner.

As for downtime, schema upgrades may require a temporary pause of your Temporal Server. The exact downtime duration depends on the complexity of the schema update and the size of your data. You can perform the schema update in a staging environment first to estimate the downtime and minimize potential disruption to your production environment.

If you require further assistance, please provide the following information:

We're here to help!

dhiaayachi commented 23 hours ago

Thank you for reaching out! I understand you're looking to upgrade your Temporal Server from the postgres driver to the postgres12 driver.

To determine if a database schema update is required, please refer to the release notes for the specific Temporal Server version you're upgrading to. The release notes will indicate if any schema changes are needed.

Since you have a large amount of data in production (50GB), it's crucial to plan the upgrade carefully. It's recommended to perform the upgrade sequentially, upgrading the database schema first and then the Temporal Server.

The upgrade process should be performed on a staging environment first to verify its success before deploying to production. This minimizes downtime and ensures data integrity.

Let me know if you have any further questions or require additional information.

dhiaayachi commented 22 hours ago

Thanks for reaching out.

You can check the release notes of Temporal Server to see if there are any database schema updates required for the postgres12 driver.

If you need to upgrade your schema, you can find the temporal-sql-tool documentation here

Upgrading your schema on a production environment with 50GB of data might require downtime, but it's best to test it in a staging environment first to ensure a smooth transition.

This is the temporal-sql-tool example for upgrading your database to postgres12:

./temporal-sql-tool \
    --tls \
    --tls-enable-host-verification \
    --tls-cert-file <path to your client cert> \
    --tls-key-file <path to your client key> \
    --tls-ca-file <path to your CA> \
    --ep localhost -p 5432 -u temporal -pw temporal --pl postgres12 --db temporal_visibility update-schema -d ./schema/postgresql/v12/visibility/versioned

It is always best to test these commands on a staging environment before applying them to a production system.

dhiaayachi commented 8 hours ago

Thank you for reporting this issue.

Please refer to the Temporal Server releases for the specific schema upgrade steps for the postgres12 driver. It may require a schema update, and upgrading the database schema may require a downtime, especially for 50GB of data.

If the release notes do not contain the upgrade instructions, please reach out to the Temporal community at community.temporal.io.