diff -u b/core/modules/menu_link_content/src/Plugin/migrate/source/d6/MenuLinkTranslation.php b/core/modules/menu_link_content/src/Plugin/migrate/source/d6/MenuLinkTranslation.php
--- b/core/modules/menu_link_content/src/Plugin/migrate/source/d6/MenuLinkTranslation.php
+++ b/core/modules/menu_link_content/src/Plugin/migrate/source/d6/MenuLinkTranslation.php
@@ -30,8 +30,9 @@
     // The query starts with the same query as menu_link.
     $query = parent::query();
 
-    // Add in the property, which is either title or description.
-    $query->leftJoin('i18n_strings', 'i18n', 'ml.mlid = i18n.objectid');
+    // Add in the property, which is either title or description. Cast the mlid
+    // to text so PostgreSQL can make the join.
+    $query->leftJoin('i18n_strings', 'i18n', 'CAST(ml.mlid as CHAR(255)) = i18n.objectid');
     $query->isNotNull('i18n.lid');
     $query->addField('i18n', 'lid');
     $query->addField('i18n', 'property');
