Ergo named Microsoft Ireland Azure Partner of the Year

Ergo, Ireland’s leading IT solutions provider, has been named Microsoft Ireland Azure Partner of the Year 2025. Ergo received this prestigious award for its consistent excellence in leveraging Microsoft Azure technologies to drive transformative results for organisations.

This recognition highlights Ergo’s leadership in cloud migration and digital transformation, emphasising the company’s exceptional Azure expertise and its ability to deliver innovative and impactful cloud solutions. Ergo was distinguished by its ability to lead large-scale Azure migrations and deliver Azure AI solutions that address complex business challenges while prioritising security, cost efficiency, and agility.

Microsoft commended Ergo’s technical depth and its year-on-year growth with a strong focus on helping customers modernise their IT environments. The company’s track record of supporting organisations in migrating to the cloud and leveraging technology to improve efficiency and resilience was also highlighted.

Commenting on the announcement, Steve Blanche, CTO at Ergo, said:

“We are immensely proud to be named Microsoft Ireland Azure Partner of the Year once again. This award is a testament to the expertise and commitment of our people, who go above and beyond to deliver genuine value for our customers every day. Over the past three decades, we have built a strong and lasting partnership with Microsoft, one that continues to develop as technology advances. Together, we are helping organisations in Ireland to adapt, innovate, and maximise their investment in the cloud.”

Clare Hillis, Enterprise Partner Lead at Microsoft Ireland, extended her congratulations and added:

“Ergo has excelled at delivering impactful transformation for our customers, successfully managing some of the largest and most complex cloud migrations this year. Throughout this period, we have seen Ergo and our customers working in strategic partnership and going from strength to strength. I’m absolutely delighted to congratulate Ergo on this recognition, as there is no partner over the last 12 months that has deserved this award more.”

This latest award highlights the depth of expertise and collaboration between Ergo and Microsoft, reinforcing their shared commitment to support organisations in Ireland on their digital transformation journeys.

Ergo has also renewed its certification as a Microsoft Azure Expert Managed Service Provider. Having first achieved this elite accreditation in 2021, Ergo has successfully passed a rigorous independent audit of its IT service management capabilities across people, process, and technology. This certification confirms Ergo’s ability to deliver consistent, repeatable, innovative managed services on Azure, meeting the highest standards set by Microsoft for technical capability, customer service, and operational excellence.

Together, these achievements reinforce Ergo’s recognition as Azure Partner of the Year 2025 and reaffirm its position as one of Ireland’s leading Azure partners.

You can find more information on Ergo’s cloud migration and AI capabilities here.

Migration from MySQL to PostgreSQL

Database migration between advanced DBMS such as MySQL and PostgreSQL can be a complicated procedure. However, the benefits of PostgreSQL, such as better support for advanced features, superior performance for certain use cases, and compliance with SQL standards, make it an appealing option for many developers and organizations. Below is a comprehensive guide on why and how to migrate from MySQL to PostgreSQL.

Why Migrate to PostgreSQL?

    • SQL Standards Compliance: PostgreSQL is known for its adherence to SQL standards, making it more predictable and portable. While MySQL has made improvements over the years, it is not as fully compliant with SQL standards as PostgreSQL.
    • Data Integrity: PostgreSQL supports advanced features like full ACID compliance, foreign keys, joins, and subqueries more robustly than MySQL. 
    • Complex Queries: PostgreSQL has support for complex queries, indexing, and powerful optimization techniques that MySQL does not always handle well. 
    • JSON and JSONB: PostgreSQL’s JSONB type provides more efficient storage and querying capabilities for JSON data compared to MySQL’s JSON support. 
    • Concurrency and MVCC: PostgreSQL provides better concurrency control and uses Multi-Version Concurrency Control (MVCC), which ensures better read consistency under heavy load, compared to MySQL’s default InnoDB engine. 
  • Extensibility: PostgreSQL supports custom data types, operators, and functions, allowing for much more flexibility and extensibility.
  • Optimized for Read and Write Operations: PostgreSQL handles heavy read and write loads more efficiently in certain applications compared to MySQL.
  • Better Support for OLAP and OLTP: PostgreSQL shines in handling both Online Analytical Processing (OLAP) and Online Transaction Processing (OLTP) workloads. MySQL generally performs better for simple OLTP workloads, but PostgreSQL outperforms MySQL in analytics-heavy applications.
Challenges of Migration

MySQL and PostgreSQL have different default data types. For example, MySQL TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB must be mapped in PostgreSQL BYTEA. Integer or BIGINT types with AUTO_INCREMENT attribute in MySQL are mapped to SERIAL or BIGSERIAL in PostgreSQL.

SQL syntax in MySQL and PostgreSQL can differ, especially for advanced queries. Queries or functions written for MySQL may need to be rewritten for PostgreSQL. Certain MySQL-specific functions and features (like AUTO_INCREMENT, GROUP_CONCAT, etc.) do not exist in PostgreSQL, requiring adjustments.

MySQL and PostgreSQL use different procedural languages for stored procedures and triggers (MySQL uses SQL/PSM while PostgreSQL uses PL/pgSQL). This means you might need to rewrite complex stored procedures, triggers, or functions.

Migrate from MySQL to PostgreSQL Using pgLoader

pgLoader is an open-source, command-line tool to load data from various sources into a PostgreSQL database. The tool uses COPY command of PostgreSQL to load the source data from database or CSV file into the target database. It automates the process of converting and transferring databases from one format to another, handling schema and data migration.

 

On Ubuntu pgLoader is available in the default repository and can be installed via apt. However, to migrate from MySQL over an SSL connection, we need particular version of pgLoader (3.5.1 and newer). This can only be installed from GitHub repository.

Before proceeding with the installation of pgLoader, we have to install prerequisites:

  • sbcl: Common Lisp compiler
  • unzip: decompressor for .zip files
  • gawk: pattern scanning and processing language
  • make: tool to manage package compilation
  • libzip-dev: A library for managing zip archives

 

Install these dependencies as follows:

sudo apt install sbcl unzip libsqlite3-dev gawk curl make freetds-dev libzip-dev

Then download and unpack pgLoader itself: 

  1. curl -fsSLO https://github.com/dimitri/pgloader/archive/v3.6.9.tar.gz
  2. tar xvf v3.6.9.tar.gz

Build the pgloader executable from sources via make pgloader. After building is completed, move the binary file into the standard location of binary files sudo mv ./build/bin/pgloader /usr/local/bin

Once pgLoader is installed, you need to configure access to PostgreSQL and MySQL instances.

Create a Postgres Role and Database

pgLoader extracts data from the source file or database and loads it into a PostgreSQL database. To successfully execute this operation, you must either run pgLoader as a Linux user who has the sufficient privileges for PostgreSQL database or specify a PostgreSQL role with the necessary grants in the load command.

In PostgreSQL, database access is controlled through roles, which can be thought of as either individual database users or groups of users, depending on the configuration. While most relational databases use a CREATE USER SQL command to create a user, PostgreSQL provides a convenient createuser script that acts as a wrapper around this command, allowing you to create users directly from the console.

Note: By default, PostgreSQL uses the ident authentication method, which maps the client’s Linux username to the PostgreSQL database username, rather than requiring a password. While this method offers increased security in many scenarios, it can present challenges when an external program, like pgLoader, needs to connect to a PostgreSQL database.

If you’re using pgLoader, you can migrate data to the PostgreSQL database through the role authenticated through the ident method, as long as the role’s name matches the Linux user profile executing the pgLoader command. However, for clarity and ease of use, this guide recommends setting up a separate PostgreSQL role that authenticates using a password instead of the ident method.

To create this new role, run the following command on your PostgreSQL server:

sudo -u postgres createuser –interactive -P

Confirm that new role should have superuser permissions as it is required for using pgLoader. Then you can create new empty PostgreSQL database as follows:

sudo -u postgres createdb new_db

Create a MySQL User and Manage Certificates

Protecting data from unauthorized access is extremely important during the database migration, since there’s a risk that malicious actors could intercept the data transferring across the network if the connection isn’t encrypted. To prevent this, we will create special MySQL user that pgLoader will use to perform the migrate securely over an SSL-encrypted channel.

Run MySQL command line client: mysql -u root -p and create a new MySQL user as follows:

CREATE USER ‘pgloader’@‘postgres_server_ip’ IDENTIFIED BY ‘password’ REQUIRE SSL;

Of course, ‘postgres_server_ip’ must be replaced by actual IP address of the PostgreSQL server. REQUIRE SSL clause at the end of the statement restricts the user ‘pgloader’ to access the database through SSL connection only. 

Now we have to grant user ‘pgloader’ access to the target database ‘mydb’ in this example:

GRANT ALL ON mydb.* TO ‘pgloader’@‘postgresql_server_ip’;

Execute FLUSH PRIVILEGES statement to renew the grant tables and exit from the MySQL prompt. 

Then attempt to connect to MySQL as new user ‘pgloader’ from PostgreSQL server:

mysql -u pgloader -p -h mysql_server_ip

If you see the MySQL prompt, the command succeeded. Now we have a special MySQL user who is able to connect the source database from PostgreSQL machine. Afterall pgloader will fail to migrate using SSL since it cannot read MySQL config files and does not know where to look for necessary certificates

Instead of bypassing SSL requirements, pgLoader enforces the use of trusted certificates when SSL is required to connect to MySQL. To address this, you need to add the ca.pem and client-cert.pem files to Ubuntu trusted certificate store by copying the ca.pem and client-cert.pem files into the /usr/local/share/ca-certificates. Be sure to rename the files with a .crt extension, as this is necessary for your system to recognize the new certificates. 

Now everything is ready to migrate from MySQL to PostgreSQL.

Migrating the Database

pgLoader enables users to migrate MySQL database to a PostgreSQL server using this command: 

pgloader mysql://mysql_username:password@mysql_server_ip_/source_database_name?option_1=value&option_n=value postgresql://postgresql_role_name:password@postgresql_server_ip/target_database_name?option_1=value&option_n=value

This command line includes 2 connection strings – for MySQL and PostgreSQL databases. Each connection string starts by DBMS type followed by the username and password, the host address of the database server, the database name and miscellaneous options that configure migration. MySQL connection string must include option useSSL=true for secured connection to the database. 

If this command succeeded, you will see an output table indicating the migration progress.

Migrate Using Foreign Data Wrapper

Migrating from MySQL to PostgreSQL using Foreign Data Wrappers (FDW) allows you to access MySQL data directly within PostgreSQL without fully importing it. This method is useful for hybrid systems where you want to gradually transition or integrate MySQL data into PostgreSQL without moving everything at once.

  1. Install the PostgreSQL MySQL FDW Extension

First, ensure that the mysql_fdw extension is installed on your PostgreSQL server. This extension allows PostgreSQL to interact with MySQL databases via Foreign Data Wrappers. Once the FDW extension is installed, you need to enable it in PostgreSQL:

CREATE EXTENSION mysql_fdw;

  1. Create a Foreign Server for the MySQL Database

Now you need to define the MySQL database as a foreign server in PostgreSQL. CREATE SERVER statement provides connection information for a Foreign Data Wrapper to access external data source:

  1. CREATE SERVER mysql_server
  2.     FOREIGN DATA WRAPPER mysql_fdw
  3.     OPTIONS (host ‘mysql_host’, port ‘3306’, dbname ‘mysql_db’);

Replace mysql_host with the address of your MySQL server, mysql_db – with the name of your MySQL database. You can also specify the port if it’s different from the default 3306.

 

  1. Create a User Mapping for MySQL

Create a user mapping in PostgreSQL to allow it to authenticate with the MySQL database. It includes the connection details required by the Foreign Data Wrapper, along with the information from the foreign server to access an external data source:

  1. CREATE USER MAPPING FOR postgres
  2. SERVER mysql_server
  3. OPTIONS (username ‘mysql_user’, password ‘mysql_password’);

Replace mysql_user and mysql_password with the appropriate MySQL credentials.

 

  1. Create Foreign Tables

Once the foreign server and user mapping are set up, you can create foreign tables in PostgreSQL that map to the MySQL tables:

  1. CREATE FOREIGN TABLE my_table (
  2.     id integer,
  3.     name text,
  4.     — other columns as in the MySQL table
  5. )
  6. SERVER mysql_server
  7. OPTIONS (tablename ‘mysql_table’);

Replace mysql_table with the actual table name in MySQL.

  1. Migrate Data

To migrate data from MySQL to PostgreSQL, you can copy the data from the foreign table to a native PostgreSQL table. Create the PostgreSQL table:

  1. CREATE TABLE pg_table (
  2.     id integer,
  3.     name text,
  4.     — other columns
  5. );

Insert Data from Foreign Table:

INSERT INTO pg_table SELECT * FROM my_table;

This will copy the data from MySQL (through the foreign data wrapper) into the local PostgreSQL table. Repeat the process of creating foreign tables and migrating data for all the relevant tables you need to migrate.

Once all the data has been successfully transferred and you’re confident that PostgreSQL is ready to take over, you can stop using the FDW and migrate all remaining data directly into PostgreSQL. You may choose to drop the foreign tables and foreign server when done.

Migrate Using Intelligent Converters Software

As you may see two previous methods require plenty of manual effort for installing and configuring tools. For those who look for more automated solutions, it is suggested to consider dedicated commercial converters. 

One of these tools is MySQL-to-PostgreSQL developed by Intelligent Converters. This converter works with all modern versions of MySQL and PostgreSQL including such forks as MariaDB, Percona and DBaaS platforms such as Azure for MySQL, Heroku, Amazon RDS, ClearDB, Google Cloud.

Other features:

  • schemas, tables, data, indexes, constraints and views are migrated
  • option to merge or synchronize PostgreSQL database with MySQL data
  • option to filter data via SELECT-queries
  • target tables can be fully customized (modify name, type, default values for every column, exclude columns from migration)
  • conversion settings are serialized into profile
  • command line support

Conclusion

Database migration from MySQL to PostgreSQL can be a straightforward process with the right tools and careful planning. It’s extremely important to take care on differences in data types, indexing, and SQL dialects between the two databases. Tools like MySQL-to-PostgreSQL by Intelligent Converters streamline the migration of both schema and data, reducing manual effort. Thorough testing post-migration is crucial to ensure data integrity, application compatibility, and performance. By following the outlined steps and leveraging the appropriate migration tools, you can successfully transition from MySQL to PostgreSQL, taking advantage of PostgreSQL’s advanced features and reliability for your applications.

How‌ ‌to‌ ‌Choose‌ ‌the‌ ‌Right‌ ‌Data‌ ‌Migration‌ ‌Tools‌ ‌for‌ ‌Your‌ ‌Company‌

Most companies will need to transport large sets of data at some point in their lifetimes. Whether you are upgrading your storage hardware or replacing a database, you will need to employ a reliable set of data migration tools to get the job done. But if you’re new to this sort of job, finding the right tools can be difficult. In our latest blog post, we’re offering a comprehensive guide to data migration as well as tips for finding the right tools for your organization.

We will review:

 

  • The basics of data migration
  • Different tools your company can use for data migration
  • Challenges and risks of data migration
  • Tips for successfully planning your data migration

Let’s get started!

What is Data Migration? 

Data migration is a key focus for data storage professionals. 

So, what is data migration exactly? The concept is actually quite simple. Data migration is the process of transferring data from one storage location to another. During this process, a company must prepare, extract, and even transform the data. Not to be confused with data replication, which occurs when someone copies data from one platform before sending it to another, data migration can be a long and tedious process. 

Purpose of Data Migration Projects

There are a number of different reasons why a company needs to invest in a data migration project. They might be upgrading a server or launching a new application. If they acquired another company, they will need to transfer the data from the old company into their current one. Some other common types of data migrations include:

 

  • Performing storage migration for a technology refresh
  • Moving a database into cloud storage or some other platform
  • Transitioning data between different applications after switching software platforms

While transferring the data, the company wants to complete the process with no data loss. When possible, it will also want to minimise the amount of data that requires manipulation or recreation. 

Data Migrations Tools Your Company Might Use

Self-scripted, on-premises, cloud-based, and more services can be used for data migration.

Data migration tools are not all built the same. There are a number of different data migration tools you can use to successfully complete your project. Smaller companies might prefer to use a self-scripted, “do-it-yourself” tool while larger ones might require extra assistance for developing a cloud-based program. The three main types of data migration tools include:

 

  • Self-scripted programs
  • On-premises tools
  • Cloud-based sources

 

Understanding the basics of these programs as well as the needs of your organisation can help you pick the right tools for your company. Make sure you weigh the key points of these programs against the key goals of the data migration project you’re organising. Another great tool you could use is Sharegate’s teams migration tool.

Self-scripted Programs

Self-scripted programs are best suited for small data migration projects. They are great for companies in need of a quick fix or who have a source-destination that isn’t supported by other tools. They also tend to be cheaper than the other programs listed. 

However, you will need someone on your team with coding skills if you want to use a self-scripted program. Because your company’s need will be constantly changing, the increase in cost for using these self-scripted programs can seriously add up over time. 

On-premises Tools

Certain compliance requirements prevent businesses from using cloud-based solutions for data migration. As a result, they turn to on-premises tools. On-premises programs are great for IT teams that can handle their management and upkeep. 

Cloud-based Sources

If you have multiple destinations for your data, a cloud-based program might be the best fit for you. Cloud-based solutions are great for companies that need to scale up or down. If you are managing a geographically dispersed team, cloud-based programs are great for helping everyone stay in the loop. 

Some people do have concerns over the security that cloud-based sources offer. As a result, you might need to take extra steps in ensuring the safety and security of your chosen program. 

Challenges and Risks of Data Migration

Businesses rely on properly-run data management projects for the success of their overall operations. 

Data migration does come with its own challenges and risks. You might be faced with data loss or compatibility issues that impede the process of your data migration. Poorly run projects can also cause your company to lose money in the long-run. 

That’s why it’s crucial to select a tool that can handle the needs of your organization. Some companies try to save money by completing the process in-house. But if they don’t have enough time and resources to give their team to complete the migration, they are at risk of setting themselves up for failure. If necessary, you might need to recruit some outside help for planning the migration. 

How to Build the Right Data Migration Strategy for Your Company

Make sure you find the right tools for your company. 

When building a data migration strategy, you need to consider your company’s budget and unique needs. In general, you should include enough money in your budget to hire data migration consultants, this might mean you need financing through means like revenue based loans. Planning out the strategy with these consultants can help set your organisation up for success. Make sure you consult with the end-users of this project as well. They might need help with understanding and managing the data.

If you’re planning a data migration project for your organisation, you need to find the right tools to help you pull it off. Some companies prefer to perform this process in-house, if for example they are preparing to move to an open banking system to help with finances. Others need extra assistance for such a large job. Whatever you decide, you need to review the basics of data migration. Familiarising yourself with them can help you find the right tools and expert assistance for your company.