PostgreSQL Flexible Server with VNET Integration to Private Endpoint

Michal Kalafarski 45 Reputation points
2025-03-03T09:48:07.81+00:00

Hello,
Is there any way to upgrade Azure PostgreSQL Flexible Server with Vnet Integration to server that allows Private Endpoint setup? I was thinking of using migration to new server but then I face below issue:

Error 603413: Unsupported language(s).
The migration service does not support the migration of databases with 'internal' language(s) on the target server. Remove the language(s) and its implemented function(s). 

Dump and restore seems a little bit too time consuming as DB is almost 4TB and heavily used in production.

Azure Database for PostgreSQL
{count} votes

Accepted answer
  1. Vijayalaxmi Kattimani 1,720 Reputation points Microsoft External Staff
    2025-03-03T11:09:54.35+00:00

    Hi Michal Kalafarski,

    Welcome to the Microsoft Q&A Platform! Thank you for asking your question here.

    As we understand that, you are trying to upgrade Azure PostgreSQL Flexible Server with VNet Integration is configured to allow the setup of Private Endpoints, enabling secure and private connectivity to the server within the virtual network.

    Upgrading an Azure PostgreSQL Flexible Server with VNet Integration to support Private Endpoint setup can be somewhat challenging.

    The Error 603413: Unsupported language(s) happens because Azure Database Migration Service (DMS) does not support the internal language or custom internal functions when migrating to Flexible Server. To resolve this, you would need to remove the internal languages and their implemented functions before migration. To identify all internal language functions by executing the SQL query provided below. Replace these functions with PL/pgSQL or SQL equivalents wherever possible. Once the modifications are complete, proceed with the migration. However, this might not be feasible for your heavily used 4TB production database.

    SELECT proname, lanname 
    FROM pg_proc p JOIN pg_language l ON p.prolang = l.oid 
    WHERE lanname = 'internal';
    
    

    Here are a few options you may consider exploring:

    • Dump and Restore: As you mentioned, this method can be time-consuming, especially for a large database. It involves creating a dump of the database and restoring it on the new server. Given the size and usage of your database, this might not be the most practical solution.
    • Network Configuration Adjustments: You might want to explore configuring the VNet integration and private endpoint setup directly on your existing server. This involves enabling VNet service endpoint and configuring the virtual network and subnet settings in the Azure portal. This approach might help you avoid the complexities of migration and downtime.

    Please refer to the below mentioned link for more information.

    https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/concepts-networking-private-link

    https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/concepts-networking-private

    I hope this information helps. If the issue still persists, please let us know here. We will respond with more details and try to help you.

    If this answers your query, do click Accept Answer and Yes for was this answer helpful. And, if you have any further query do let us know.

    0 comments No comments

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.