mysql_fdw

mysql_fdw

mysql_fdw : Foreign data wrapper for querying a MySQL server

Overview

IDExtensionPackageVersionCategoryLicenseLanguage
8600
mysql_fdw
mysql_fdw
2.9.3
FDW
BSD 3-Clause
C
AttributeHas BinaryHas LibraryNeed LoadHas DDLRelocatableTrusted
--s-d-r
No
Yes
No
Yes
yes
no
Relationships
See Also
oracle_fdw
tds_fdw
db2_fdw
postgres_fdw
wrappers
multicorn
odbc_fdw
jdbc_fdw

Packages

TypeRepoVersionPG Major CompatibilityPackage PatternDependencies
EXT
PGDG
2.9.3
18
17
16
15
14
mysql_fdw-
RPM
PGDG
2.9.3
18
17
16
15
14
mysql_fdw_$v-
DEB
PGDG
2.9.3
18
17
16
15
14
postgresql-$v-mysql-fdw-
Linux / PGPG18PG17PG16PG15PG14
el8.x86_64
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
el8.aarch64
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
el9.x86_64
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
el9.aarch64
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
el10.x86_64
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
el10.aarch64
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
d12.x86_64
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
d12.aarch64
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
d13.x86_64
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
d13.aarch64
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
u22.x86_64
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
u22.aarch64
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
u24.x86_64
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
u24.aarch64
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
PGDG 2.9.3
PackageVersionOSORGSIZEFile URL
mysql_fdw_172.9.3el8.x86_64pgdg135.4 KiBmysql_fdw_17-2.9.3-3PGDG.rhel8.x86_64.rpm
mysql_fdw_172.9.2el8.x86_64pgdg139.1 KiBmysql_fdw_17-2.9.2-2PGDG.rhel8.x86_64.rpm
mysql_fdw_172.9.3el8.aarch64pgdg133.0 KiBmysql_fdw_17-2.9.3-3PGDG.rhel8.aarch64.rpm
mysql_fdw_172.9.2el8.aarch64pgdg137.1 KiBmysql_fdw_17-2.9.2-2PGDG.rhel8.aarch64.rpm
mysql_fdw_172.9.3el9.x86_64pgdg135.0 KiBmysql_fdw_17-2.9.3-3PGDG.rhel9.x86_64.rpm
mysql_fdw_172.9.2el9.x86_64pgdg139.5 KiBmysql_fdw_17-2.9.2-2PGDG.rhel9.x86_64.rpm
mysql_fdw_172.9.3el9.aarch64pgdg133.3 KiBmysql_fdw_17-2.9.3-3PGDG.rhel9.aarch64.rpm
mysql_fdw_172.9.2el9.aarch64pgdg138.0 KiBmysql_fdw_17-2.9.2-2PGDG.rhel9.aarch64.rpm
mysql_fdw_172.9.3el10.x86_64pgdg136.5 KiBmysql_fdw_17-2.9.3-3PGDG.rhel10.x86_64.rpm
mysql_fdw_172.9.2el10.x86_64pgdg136.4 KiBmysql_fdw_17-2.9.2-3PGDG.rhel10.x86_64.rpm
mysql_fdw_172.9.3el10.aarch64pgdg134.8 KiBmysql_fdw_17-2.9.3-3PGDG.rhel10.aarch64.rpm
mysql_fdw_172.9.2el10.aarch64pgdg134.8 KiBmysql_fdw_17-2.9.2-3PGDG.rhel10.aarch64.rpm
postgresql-17-mysql-fdw2.9.3d12.x86_64pgdg123.8 KiBpostgresql-17-mysql-fdw_2.9.3-2.pgdg12+1_amd64.deb
postgresql-17-mysql-fdw2.9.3d12.aarch64pgdg120.5 KiBpostgresql-17-mysql-fdw_2.9.3-2.pgdg12+1_arm64.deb
postgresql-17-mysql-fdw2.9.3d13.x86_64pgdg124.1 KiBpostgresql-17-mysql-fdw_2.9.3-2.pgdg13+1_amd64.deb
postgresql-17-mysql-fdw2.9.3d13.aarch64pgdg121.4 KiBpostgresql-17-mysql-fdw_2.9.3-2.pgdg13+1_arm64.deb
postgresql-17-mysql-fdw2.9.3u22.x86_64pgdg146.2 KiBpostgresql-17-mysql-fdw_2.9.3-2.pgdg22.04+1_amd64.deb
postgresql-17-mysql-fdw2.9.3u22.aarch64pgdg142.9 KiBpostgresql-17-mysql-fdw_2.9.3-2.pgdg22.04+1_arm64.deb
postgresql-17-mysql-fdw2.9.3u24.x86_64pgdg123.3 KiBpostgresql-17-mysql-fdw_2.9.3-2.pgdg24.04+1_amd64.deb
postgresql-17-mysql-fdw2.9.3u24.aarch64pgdg120.2 KiBpostgresql-17-mysql-fdw_2.9.3-2.pgdg24.04+1_arm64.deb
PackageVersionOSORGSIZEFile URL
mysql_fdw_162.9.3el8.x86_64pgdg135.4 KiBmysql_fdw_16-2.9.3-3PGDG.rhel8.x86_64.rpm
mysql_fdw_162.9.2el8.x86_64pgdg139.0 KiBmysql_fdw_16-2.9.2-1PGDG.rhel8.x86_64.rpm
mysql_fdw_162.9.1el8.x86_64pgdg155.4 KiBmysql_fdw_16-2.9.1-1PGDG.rhel8.x86_64.rpm
mysql_fdw_162.9.3el8.aarch64pgdg133.0 KiBmysql_fdw_16-2.9.3-3PGDG.rhel8.aarch64.rpm
mysql_fdw_162.9.2el8.aarch64pgdg137.1 KiBmysql_fdw_16-2.9.2-1PGDG.rhel8.aarch64.rpm
mysql_fdw_162.9.1el8.aarch64pgdg152.9 KiBmysql_fdw_16-2.9.1-1PGDG.rhel8.aarch64.rpm
mysql_fdw_162.9.3el9.x86_64pgdg135.0 KiBmysql_fdw_16-2.9.3-3PGDG.rhel9.x86_64.rpm
mysql_fdw_162.9.2el9.x86_64pgdg139.2 KiBmysql_fdw_16-2.9.2-1PGDG.rhel9.x86_64.rpm
mysql_fdw_162.9.1el9.x86_64pgdg155.7 KiBmysql_fdw_16-2.9.1-1PGDG.rhel9.x86_64.rpm
mysql_fdw_162.9.3el9.aarch64pgdg133.2 KiBmysql_fdw_16-2.9.3-3PGDG.rhel9.aarch64.rpm
mysql_fdw_162.9.2el9.aarch64pgdg138.0 KiBmysql_fdw_16-2.9.2-1PGDG.rhel9.aarch64.rpm
mysql_fdw_162.9.1el9.aarch64pgdg154.0 KiBmysql_fdw_16-2.9.1-1PGDG.rhel9.aarch64.rpm
mysql_fdw_162.9.3el10.x86_64pgdg136.5 KiBmysql_fdw_16-2.9.3-3PGDG.rhel10.x86_64.rpm
mysql_fdw_162.9.2el10.x86_64pgdg136.4 KiBmysql_fdw_16-2.9.2-3PGDG.rhel10.x86_64.rpm
mysql_fdw_162.9.3el10.aarch64pgdg134.8 KiBmysql_fdw_16-2.9.3-3PGDG.rhel10.aarch64.rpm
mysql_fdw_162.9.2el10.aarch64pgdg134.7 KiBmysql_fdw_16-2.9.2-3PGDG.rhel10.aarch64.rpm
postgresql-16-mysql-fdw2.9.3d12.x86_64pgdg123.7 KiBpostgresql-16-mysql-fdw_2.9.3-2.pgdg12+1_amd64.deb
postgresql-16-mysql-fdw2.9.3d12.aarch64pgdg120.3 KiBpostgresql-16-mysql-fdw_2.9.3-2.pgdg12+1_arm64.deb
postgresql-16-mysql-fdw2.9.3d13.x86_64pgdg124.2 KiBpostgresql-16-mysql-fdw_2.9.3-2.pgdg13+1_amd64.deb
postgresql-16-mysql-fdw2.9.3d13.aarch64pgdg121.2 KiBpostgresql-16-mysql-fdw_2.9.3-2.pgdg13+1_arm64.deb
postgresql-16-mysql-fdw2.9.3u22.x86_64pgdg145.5 KiBpostgresql-16-mysql-fdw_2.9.3-2.pgdg22.04+1_amd64.deb
postgresql-16-mysql-fdw2.9.3u22.aarch64pgdg142.3 KiBpostgresql-16-mysql-fdw_2.9.3-2.pgdg22.04+1_arm64.deb
postgresql-16-mysql-fdw2.9.3u24.x86_64pgdg123.3 KiBpostgresql-16-mysql-fdw_2.9.3-2.pgdg24.04+1_amd64.deb
postgresql-16-mysql-fdw2.9.3u24.aarch64pgdg120.2 KiBpostgresql-16-mysql-fdw_2.9.3-2.pgdg24.04+1_arm64.deb
PackageVersionOSORGSIZEFile URL
mysql_fdw_152.9.3el8.x86_64pgdg135.7 KiBmysql_fdw_15-2.9.3-3PGDG.rhel8.x86_64.rpm
mysql_fdw_152.9.2el8.x86_64pgdg139.2 KiBmysql_fdw_15-2.9.2-1PGDG.rhel8.x86_64.rpm
mysql_fdw_152.9.1el8.x86_64pgdg155.6 KiBmysql_fdw_15-2.9.1-1PGDG.rhel8.x86_64.rpm
mysql_fdw_152.9.0el8.x86_64pgdg155.3 KiBmysql_fdw_15-2.9.0-1.rhel8.x86_64.rpm
mysql_fdw_152.8.0el8.x86_64pgdg138.8 KiBmysql_fdw_15-2.8.0-2.rhel8.x86_64.rpm
mysql_fdw_152.9.3el8.aarch64pgdg133.0 KiBmysql_fdw_15-2.9.3-3PGDG.rhel8.aarch64.rpm
mysql_fdw_152.9.2el8.aarch64pgdg137.0 KiBmysql_fdw_15-2.9.2-1PGDG.rhel8.aarch64.rpm
mysql_fdw_152.9.1el8.aarch64pgdg134.9 KiBmysql_fdw_15-2.9.1-1PGDG.rhel8.aarch64.rpm
mysql_fdw_152.9.0el8.aarch64pgdg152.7 KiBmysql_fdw_15-2.9.0-1.rhel8.aarch64.rpm
mysql_fdw_152.9.3el9.x86_64pgdg135.8 KiBmysql_fdw_15-2.9.3-3PGDG.rhel9.x86_64.rpm
mysql_fdw_152.9.2el9.x86_64pgdg140.1 KiBmysql_fdw_15-2.9.2-1PGDG.rhel9.x86_64.rpm
mysql_fdw_152.9.1el9.x86_64pgdg156.9 KiBmysql_fdw_15-2.9.1-1PGDG.rhel9.x86_64.rpm
mysql_fdw_152.9.0el9.x86_64pgdg156.4 KiBmysql_fdw_15-2.9.0-1.rhel9.x86_64.rpm
mysql_fdw_152.8.0el9.x86_64pgdg140.2 KiBmysql_fdw_15-2.8.0-2.rhel9.x86_64.rpm
mysql_fdw_152.9.3el9.aarch64pgdg133.7 KiBmysql_fdw_15-2.9.3-3PGDG.rhel9.aarch64.rpm
mysql_fdw_152.9.2el9.aarch64pgdg138.6 KiBmysql_fdw_15-2.9.2-1PGDG.rhel9.aarch64.rpm
mysql_fdw_152.9.1el9.aarch64pgdg136.7 KiBmysql_fdw_15-2.9.1-1PGDG.rhel9.aarch64.rpm
mysql_fdw_152.9.0el9.aarch64pgdg154.2 KiBmysql_fdw_15-2.9.0-1.rhel9.aarch64.rpm
mysql_fdw_152.9.3el10.x86_64pgdg137.6 KiBmysql_fdw_15-2.9.3-3PGDG.rhel10.x86_64.rpm
mysql_fdw_152.9.2el10.x86_64pgdg137.5 KiBmysql_fdw_15-2.9.2-3PGDG.rhel10.x86_64.rpm
mysql_fdw_152.9.3el10.aarch64pgdg135.6 KiBmysql_fdw_15-2.9.3-3PGDG.rhel10.aarch64.rpm
mysql_fdw_152.9.2el10.aarch64pgdg135.5 KiBmysql_fdw_15-2.9.2-3PGDG.rhel10.aarch64.rpm
postgresql-15-mysql-fdw2.9.3d12.x86_64pgdg124.2 KiBpostgresql-15-mysql-fdw_2.9.3-2.pgdg12+1_amd64.deb
postgresql-15-mysql-fdw2.9.3d12.aarch64pgdg120.9 KiBpostgresql-15-mysql-fdw_2.9.3-2.pgdg12+1_arm64.deb
postgresql-15-mysql-fdw2.9.3d13.x86_64pgdg124.6 KiBpostgresql-15-mysql-fdw_2.9.3-2.pgdg13+1_amd64.deb
postgresql-15-mysql-fdw2.9.3d13.aarch64pgdg121.6 KiBpostgresql-15-mysql-fdw_2.9.3-2.pgdg13+1_arm64.deb
postgresql-15-mysql-fdw2.9.3u22.x86_64pgdg146.0 KiBpostgresql-15-mysql-fdw_2.9.3-2.pgdg22.04+1_amd64.deb
postgresql-15-mysql-fdw2.9.3u22.aarch64pgdg142.6 KiBpostgresql-15-mysql-fdw_2.9.3-2.pgdg22.04+1_arm64.deb
postgresql-15-mysql-fdw2.9.3u24.x86_64pgdg124.2 KiBpostgresql-15-mysql-fdw_2.9.3-2.pgdg24.04+1_amd64.deb
postgresql-15-mysql-fdw2.9.3u24.aarch64pgdg120.8 KiBpostgresql-15-mysql-fdw_2.9.3-2.pgdg24.04+1_arm64.deb
PackageVersionOSORGSIZEFile URL
mysql_fdw_142.9.3el8.x86_64pgdg136.2 KiBmysql_fdw_14-2.9.3-3PGDG.rhel8.x86_64.rpm
mysql_fdw_142.9.2el8.x86_64pgdg139.4 KiBmysql_fdw_14-2.9.2-1PGDG.rhel8.x86_64.rpm
mysql_fdw_142.9.1el8.x86_64pgdg155.9 KiBmysql_fdw_14-2.9.1-1PGDG.rhel8.x86_64.rpm
mysql_fdw_142.9.0el8.x86_64pgdg155.3 KiBmysql_fdw_14-2.9.0-1.rhel8.x86_64.rpm
mysql_fdw_142.8.0el8.x86_64pgdg138.8 KiBmysql_fdw_14-2.8.0-2.rhel8.x86_64.rpm
mysql_fdw_142.7.0el8.x86_64pgdg129.6 KiBmysql_fdw_14-2.7.0-1.rhel8.x86_64.rpm
mysql_fdw_142.6.1el8.x86_64pgdg122.6 KiBmysql_fdw_14-2.6.1-2.rhel8.x86_64.rpm
mysql_fdw_142.9.3el8.aarch64pgdg133.3 KiBmysql_fdw_14-2.9.3-3PGDG.rhel8.aarch64.rpm
mysql_fdw_142.9.2el8.aarch64pgdg137.2 KiBmysql_fdw_14-2.9.2-1PGDG.rhel8.aarch64.rpm
mysql_fdw_142.9.1el8.aarch64pgdg135.1 KiBmysql_fdw_14-2.9.1-1PGDG.rhel8.aarch64.rpm
mysql_fdw_142.9.0el8.aarch64pgdg152.8 KiBmysql_fdw_14-2.9.0-1.rhel8.aarch64.rpm
mysql_fdw_142.9.3el9.x86_64pgdg136.3 KiBmysql_fdw_14-2.9.3-3PGDG.rhel9.x86_64.rpm
mysql_fdw_142.9.2el9.x86_64pgdg140.2 KiBmysql_fdw_14-2.9.2-1PGDG.rhel9.x86_64.rpm
mysql_fdw_142.9.1el9.x86_64pgdg156.9 KiBmysql_fdw_14-2.9.1-1PGDG.rhel9.x86_64.rpm
mysql_fdw_142.9.0el9.x86_64pgdg156.6 KiBmysql_fdw_14-2.9.0-1.rhel9.x86_64.rpm
mysql_fdw_142.8.0el9.x86_64pgdg140.4 KiBmysql_fdw_14-2.8.0-2.rhel9.x86_64.rpm
mysql_fdw_142.7.0el9.x86_64pgdg130.3 KiBmysql_fdw_14-2.7.0-1.rhel9.x86_64.rpm
mysql_fdw_142.9.3el9.aarch64pgdg134.3 KiBmysql_fdw_14-2.9.3-3PGDG.rhel9.aarch64.rpm
mysql_fdw_142.9.2el9.aarch64pgdg138.8 KiBmysql_fdw_14-2.9.2-1PGDG.rhel9.aarch64.rpm
mysql_fdw_142.9.1el9.aarch64pgdg136.9 KiBmysql_fdw_14-2.9.1-1PGDG.rhel9.aarch64.rpm
mysql_fdw_142.9.0el9.aarch64pgdg154.4 KiBmysql_fdw_14-2.9.0-1.rhel9.aarch64.rpm
mysql_fdw_142.9.3el10.x86_64pgdg138.0 KiBmysql_fdw_14-2.9.3-3PGDG.rhel10.x86_64.rpm
mysql_fdw_142.9.2el10.x86_64pgdg138.0 KiBmysql_fdw_14-2.9.2-3PGDG.rhel10.x86_64.rpm
mysql_fdw_142.9.3el10.aarch64pgdg135.9 KiBmysql_fdw_14-2.9.3-3PGDG.rhel10.aarch64.rpm
mysql_fdw_142.9.2el10.aarch64pgdg135.9 KiBmysql_fdw_14-2.9.2-3PGDG.rhel10.aarch64.rpm
postgresql-14-mysql-fdw2.9.3d12.x86_64pgdg124.7 KiBpostgresql-14-mysql-fdw_2.9.3-2.pgdg12+1_amd64.deb
postgresql-14-mysql-fdw2.9.3d12.aarch64pgdg121.4 KiBpostgresql-14-mysql-fdw_2.9.3-2.pgdg12+1_arm64.deb
postgresql-14-mysql-fdw2.9.3d13.x86_64pgdg125.0 KiBpostgresql-14-mysql-fdw_2.9.3-2.pgdg13+1_amd64.deb
postgresql-14-mysql-fdw2.9.3d13.aarch64pgdg121.9 KiBpostgresql-14-mysql-fdw_2.9.3-2.pgdg13+1_arm64.deb
postgresql-14-mysql-fdw2.9.3u22.x86_64pgdg146.4 KiBpostgresql-14-mysql-fdw_2.9.3-2.pgdg22.04+1_amd64.deb
postgresql-14-mysql-fdw2.9.3u22.aarch64pgdg143.1 KiBpostgresql-14-mysql-fdw_2.9.3-2.pgdg22.04+1_arm64.deb
postgresql-14-mysql-fdw2.9.3u24.x86_64pgdg124.4 KiBpostgresql-14-mysql-fdw_2.9.3-2.pgdg24.04+1_amd64.deb
postgresql-14-mysql-fdw2.9.3u24.aarch64pgdg121.1 KiBpostgresql-14-mysql-fdw_2.9.3-2.pgdg24.04+1_arm64.deb

Source

Install

Make sure PGDG repo available:

pig repo add pgdg -u    # add pgdg repo and update cache

Install this extension with pig:

pig install mysql_fdw;		# install via package name, for the active PG version

pig install mysql_fdw -v 18;   # install for PG 18
pig install mysql_fdw -v 17;   # install for PG 17
pig install mysql_fdw -v 16;   # install for PG 16
pig install mysql_fdw -v 15;   # install for PG 15
pig install mysql_fdw -v 14;   # install for PG 14

Create this extension with:

CREATE EXTENSION mysql_fdw;

Usage

mysql_fdw: Foreign data wrapper for querying a MySQL server

Create Server

CREATE EXTENSION mysql_fdw;

CREATE SERVER mysql_server
  FOREIGN DATA WRAPPER mysql_fdw
  OPTIONS (host '127.0.0.1', port '3306');

Server Options: host (default 127.0.0.1), port (default 3306), secure_auth (default true), init_command, use_remote_estimate (default false), reconnect (default false), sql_mode (default ANSI_QUOTES), fetch_size (default 100), character_set, truncatable (default true), plus SSL options (ssl_key, ssl_cert, ssl_ca, ssl_capath, ssl_cipher).

Create User Mapping

CREATE USER MAPPING FOR pguser
  SERVER mysql_server
  OPTIONS (username 'mysqluser', password 'mysqlpass');

Create Foreign Table

CREATE FOREIGN TABLE warehouse (
  warehouse_id int,
  warehouse_name text,
  warehouse_created timestamp
)
SERVER mysql_server
OPTIONS (dbname 'mydb', table_name 'warehouse');

Table Options: dbname (required, MySQL database name), table_name (defaults to foreign table name), fetch_size (overrides server setting), max_blob_size, truncatable (default true).

CRUD Operations

INSERT INTO warehouse VALUES (1, 'UPS', current_date);
SELECT * FROM warehouse ORDER BY warehouse_id;
UPDATE warehouse SET warehouse_name = 'NEW_NAME' WHERE warehouse_id = 1;
DELETE FROM warehouse WHERE warehouse_id = 3;

Pushdown Features

mysql_fdw optimizes queries through several pushdown mechanisms:

  • WHERE clause pushdown to minimize data transfer
  • Column pushdown to retrieve only requested columns
  • JOIN pushdown for joins between foreign tables on the same MySQL server
  • AGGREGATE pushdown for min, max, sum, avg, count
  • ORDER BY and LIMIT/OFFSET pushdown to reduce network traffic
Last updated on