Custom Solutions

What do we mean by Custom Solutions?

In the PostgreSQL Assistant tool, Custom Solutions refer to any customization not covered by an update agreement with Monitor.

If you have your own adaptations developed internally, purchased through consultancy services, or supplied by third parties, these must be reviewed and updated. We therefore recommend that you make an inventory of all customized solutions and ensure that they will function after migration, especially if they are critical to your operations.

Which adaptations or integrations aren't covered by an update agreement?

Below are examples of custom solutions for which you, as a customer, are responsible for ensuring compatibility with PostgreSQL:

  • Custom SQL queries

  • Custom document variants with SQL

  • Customized reports

  • Custom database views and procedures

  • Custom Excel solutions via ODBC

  • Custom Power BI solutions via ODBC

  • Custom external programs with SQL

  • Custom Monitor BI dashboards with connections to the Monitor database

  • Adaptations created by a Monitor consultant not covered by an update agreement

Custom database views, functions, and procedures are not transferred in the migration. As a customer, you are responsible for ensuring that these are saved prior to the migration, that they are compatible with PostgreSQL, and that they are reinstalled after the migration.

Customized reports & documents

Custom solutions can be done inside and outside of Monitor. Inside Monitor, you can write SQL when creating customized reports and custom documents with data sources. This applies e.g., when you have the option 11 – Customized reports or option 30 – Adaptation of document data source.

The table and column structure in Monitor’s standard database tables remains unchanged after the migration.

External integrations with a connection to the Monitor database

External integrations with a connection to the database are done using the database user, with the name ReadOnlyUser. If this user is active, you will get a warning about it in the PostgreSQL Assistant tool.

If you are using external servers or other clients that need to connect to the Monitor database server after the conversion to PostgreSQL, you must allow these connections in the pg_hba.conf file (Read more)

The change of database engine does not affect solutions that use only Monitor’s API. The table and column structure in Monitor’s standard database tables remains unchanged after the migration.

Why is testing required?

PostgreSQL uses different SQL syntax and data types compared to SQL Anywhere. This means that SQL queries may need to be adjusted to ensure continued compatibility. For details on the differences between the dialects, please refer to the official database documentation for SQL Anywhere and PostgreSQL.

Testing procedure

Follow these steps to test your custom solutions:

  1. Migrate a test company: Select a test database from the company list and migrate it to PostgreSQL first. Test companies are specifically designed for this purpose and can be migrated without completing all preparation steps/sections.

  2. Update connection details: Update your external integration's database connection to point to the PostgreSQL test database.

  3. Run integration tests: Execute your integration workflows and verify that all queries return expected results. Check data formatting, null handling, and edge cases.

  4. Fix any issues: If you encounter errors, update your queries or integration code to be PostgreSQL-compatible. Document all changes for deployment to production.

  5. Verify in production: After migrating your production company, apply the same fixes and verify the integration works correctly with live data.

Need help?
If you require assistance, it is possible to book time for consultation via our adaptation team. We can perform quality assurance of your adaptations on a chargeable basis and, where possible, offer an update agreement and assume responsibility for the adaptation. Please note that each adaptation is assessed individually and decisions are made on a case-by-case basis.