EnterpriseDB / mysql_fdw

PostgreSQL foreign data wrapper for MySQL
Other
530 stars 162 forks source link

I need mysql_fdw for postgresql 10 #150

Open nnhiep opened 6 years ago

nnhiep commented 6 years ago

Hi Team I need mysql_fdw package for postgresql 10. Please support me. Thanks.

ahsanhadi commented 6 years ago

mysql_fdw support for PG 10 was added as part of this commit, it hasn't been tested throughly though..

https://github.com/EnterpriseDB/mysql_fdw/commit/e7e4b7b3fc2b2eec0737d0ed418490530619f612 / Does it not work for you for PG 10

On Thu, Oct 26, 2017 at 1:36 PM, Nguyen Ngoc Hiep notifications@github.com wrote:

Hi Team I need mysql_fdw package for postgresql 10. Please support me. Thanks.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/EnterpriseDB/mysql_fdw/issues/150, or mute the thread https://github.com/notifications/unsubscribe-auth/AHmqpJ_bkcGSqb5rioXkAj6CU2vyoBVpks5swESGgaJpZM4QHMeb .

-- Ahsan Hadi Snr Director Product Development EnterpriseDB Corporation The Enterprise Postgres Company

Phone: +92-51-8358874 Mobile: +92-333-5162114

Website: www.enterprisedb.com EnterpriseDB Blog: http://blogs.enterprisedb.com/ Follow us on Twitter: http://www.twitter.com/enterprisedb

This e-mail message (and any attachment) is intended for the use of the individual or entity to whom it is addressed. This message contains information from EnterpriseDB Corporation that may be privileged, confidential, or exempt from disclosure under applicable law. If you are not the intended recipient or authorized to receive this for the intended recipient, any use, dissemination, distribution, retention, archiving, or copying of this communication is strictly prohibited. If you have received this e-mail in error, please notify the sender immediately by reply e-mail and delete this message.

xnox commented 6 years ago

@ahsanhadi It appears to fail testing with the new postgresql 10.1

See http://autopkgtest.ubuntu.com/packages/postgresql-mysql-fdw

autopkgtest [08:04:31]: test installcheck: [-----------------------
== creating the MySQL test database
--------------
CREATE DATABASE testdb
--------------

--------------
CREATE USER 'foo'@'127.0.0.1' IDENTIFIED BY 'bar'
--------------

--------------
GRANT ALL PRIVILEGES ON testdb.* TO 'foo'@'127.0.0.1'
--------------

--------------
CREATE TABLE department(department_id int, department_name text, PRIMARY KEY (department_id))
--------------

--------------
CREATE TABLE employee(emp_id int, emp_name text, emp_dept_id int, PRIMARY KEY (emp_id))
--------------

--------------
CREATE TABLE empdata (emp_id int, emp_dat blob, PRIMARY KEY (emp_id))
--------------

--------------
CREATE TABLE numbers(a int PRIMARY KEY, b varchar(255))
--------------

### installcheck 10 ###
Creating new PostgreSQL cluster 10/regress ...
/usr/lib/postgresql/10/bin/initdb -D /tmp/pg_virtualenv.iVuPka/data/10/regress --auth-local peer --auth-host md5 --username=postgres --pwfile=/tmp/pg_virtualenv.iVuPka/postgresql-common/pwfile --nosync
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "en_US.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".

Data page checksums are disabled.

fixing permissions on existing directory /tmp/pg_virtualenv.iVuPka/data/10/regress ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok

Sync to disk skipped.
The data directory might become corrupt if the operating system crashes.

Success. You can now start the database server using:

    /usr/lib/postgresql/10/bin/pg_ctl -D /tmp/pg_virtualenv.iVuPka/data/10/regress -l logfile start

Ver Cluster Port Status Owner    Data directory                            Log file
10  regress 5433 online postgres /tmp/pg_virtualenv.iVuPka/data/10/regress /tmp/pg_virtualenv.iVuPka/log/postgresql-10-regress.log

/usr/lib/postgresql/10/lib/pgxs/src/makefiles/../../src/test/regress/pg_regress --inputdir=/tmp/autopkgtest.wiczIO/build.GCp/src --bindir='/usr/lib/postgresql/10/bin'    --dbname=contrib_regression mysql_fdw
(using postmaster on localhost, port 5433)
============== dropping database "contrib_regression" ==============
NOTICE:  database "contrib_regression" does not exist, skipping
DROP DATABASE
============== creating database "contrib_regression" ==============
CREATE DATABASE
ALTER DATABASE
============== running regression test queries        ==============
test mysql_fdw                ... FAILED

======================
 1 of 1 tests failed. 
======================

The differences that caused some tests to fail can be viewed in the
file "/tmp/autopkgtest.wiczIO/build.GCp/src/regression.diffs".  A copy of the test summary that you see
above is saved in the file "/tmp/autopkgtest.wiczIO/build.GCp/src/regression.out".

make: *** [installcheck] Error 1
/usr/lib/postgresql/10/lib/pgxs/src/makefiles/pgxs.mk:275: recipe for target 'installcheck' failed
*** /tmp/pg_virtualenv.iVuPka/log/postgresql-10-regress.log (last 100 lines) ***
2017-11-18 08:04:33.301 UTC [3308] LOG:  listening on IPv4 address "127.0.0.1", port 5433
2017-11-18 08:04:33.301 UTC [3308] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5433"
2017-11-18 08:04:33.309 UTC [3309] LOG:  database system was shut down at 2017-11-18 08:04:33 UTC
2017-11-18 08:04:33.312 UTC [3308] LOG:  database system is ready to accept connections
2017-11-18 08:04:33.894 UTC [3316] [unknown]@[unknown] LOG:  incomplete startup packet
2017-11-18 08:04:35.965 UTC [3378] postgres@postgres ERROR:  unrecognized node type: 217
2017-11-18 08:04:35.965 UTC [3378] postgres@postgres CONTEXT:  SQL statement "select b        from numbers where a=x"
    PL/pgSQL function test_param_where() line 6 at SQL statement
2017-11-18 08:04:35.965 UTC [3378] postgres@postgres STATEMENT:  SELECT test_param_where();
Dropping cluster 10/regress ...
**** regression.diffs ****
*** /tmp/autopkgtest.wiczIO/build.GCp/src/expected/mysql_fdw.out    2017-11-18 08:03:58.000000000 +0000
--- /tmp/autopkgtest.wiczIO/build.GCp/src/results/mysql_fdw.out 2017-11-18 08:04:36.276661997 +0000
***************
*** 344,358 ****
  NOTICE:  Found number Three
  NOTICE:  Found number Four
  NOTICE:  Found number Five
! NOTICE:  Found number Six
! NOTICE:  Found number Seven
! NOTICE:  Found number Eight
! NOTICE:  Found number Nine
!  test_param_where 
! ------------------
!  
! (1 row)
! 
  DELETE FROM employee;
  DELETE FROM department;
  DELETE FROM empdata;
--- 344,352 ----
  NOTICE:  Found number Three
  NOTICE:  Found number Four
  NOTICE:  Found number Five
! ERROR:  unrecognized node type: 217
! CONTEXT:  SQL statement "select b        from numbers where a=x"
! PL/pgSQL function test_param_where() line 6 at SQL statement
  DELETE FROM employee;
  DELETE FROM department;
  DELETE FROM empdata;

======================================================================

== dropping the MySQL test database
--------------
DROP USER 'foo'@'127.0.0.1'
--------------

--------------
DROP DATABASE testdb
ahsanhadi commented 6 years ago

We will take a look to see why it is failing with PG 10.1

On Mon, Nov 20, 2017 at 5:26 PM, Dimitri John Ledkov < notifications@github.com> wrote:

@ahsanhadi https://github.com/ahsanhadi It appears to fail testing with the new postgresql 10.1

See http://autopkgtest.ubuntu.com/packages/postgresql-mysql-fdw

autopkgtest [08:04:31]: test installcheck: [----------------------- == creating the MySQL test database

CREATE DATABASE testdb


CREATE USER 'foo'@'127.0.0.1' IDENTIFIED BY 'bar'


GRANT ALL PRIVILEGES ON testdb.* TO 'foo'@'127.0.0.1'


CREATE TABLE department(department_id int, department_name text, PRIMARY KEY (department_id))


CREATE TABLE employee(emp_id int, emp_name text, emp_dept_id int, PRIMARY KEY (emp_id))


CREATE TABLE empdata (emp_id int, emp_dat blob, PRIMARY KEY (emp_id))


CREATE TABLE numbers(a int PRIMARY KEY, b varchar(255))

installcheck 10

Creating new PostgreSQL cluster 10/regress ... /usr/lib/postgresql/10/bin/initdb -D /tmp/pg_virtualenv.iVuPka/data/10/regress --auth-local peer --auth-host md5 --username=postgres --pwfile=/tmp/pg_virtualenv.iVuPka/postgresql-common/pwfile --nosync The files belonging to this database system will be owned by user "postgres". This user must also own the server process.

The database cluster will be initialized with locale "en_US.UTF-8". The default database encoding has accordingly been set to "UTF8". The default text search configuration will be set to "english".

Data page checksums are disabled.

fixing permissions on existing directory /tmp/pg_virtualenv.iVuPka/data/10/regress ... ok creating subdirectories ... ok selecting default max_connections ... 100 selecting default shared_buffers ... 128MB selecting dynamic shared memory implementation ... posix creating configuration files ... ok running bootstrap script ... ok performing post-bootstrap initialization ... ok

Sync to disk skipped. The data directory might become corrupt if the operating system crashes.

Success. You can now start the database server using:

/usr/lib/postgresql/10/bin/pg_ctl -D /tmp/pg_virtualenv.iVuPka/data/10/regress -l logfile start

Ver Cluster Port Status Owner Data directory Log file 10 regress 5433 online postgres /tmp/pg_virtualenv.iVuPka/data/10/regress /tmp/pg_virtualenv.iVuPka/log/postgresql-10-regress.log

/usr/lib/postgresql/10/lib/pgxs/src/makefiles/../../src/test/regress/pg_regress --inputdir=/tmp/autopkgtest.wiczIO/build.GCp/src --bindir='/usr/lib/postgresql/10/bin' --dbname=contrib_regression mysql_fdw (using postmaster on localhost, port 5433) ============== dropping database "contrib_regression" ============== NOTICE: database "contrib_regression" does not exist, skipping DROP DATABASE ============== creating database "contrib_regression" ============== CREATE DATABASE ALTER DATABASE ============== running regression test queries ============== test mysql_fdw ... FAILED

====================== 1 of 1 tests failed.

The differences that caused some tests to fail can be viewed in the file "/tmp/autopkgtest.wiczIO/build.GCp/src/regression.diffs". A copy of the test summary that you see above is saved in the file "/tmp/autopkgtest.wiczIO/build.GCp/src/regression.out".

make: [installcheck] Error 1 /usr/lib/postgresql/10/lib/pgxs/src/makefiles/pgxs.mk:275: recipe for target 'installcheck' failed /tmp/pg_virtualenv.iVuPka/log/postgresql-10-regress.log (last 100 lines) * 2017-11-18 08:04:33.301 UTC [3308] LOG: listening on IPv4 address "127.0.0.1", port 5433 2017-11-18 08:04:33.301 UTC [3308] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5433" 2017-11-18 08:04:33.309 UTC [3309] LOG: database system was shut down at 2017-11-18 08:04:33 UTC 2017-11-18 08:04:33.312 UTC [3308] LOG: database system is ready to accept connections 2017-11-18 08:04:33.894 UTC [3316] [unknown]@[unknown] LOG: incomplete startup packet 2017-11-18 08:04:35.965 UTC [3378] postgres@postgres ERROR: unrecognized node type: 217 2017-11-18 08:04:35.965 UTC [3378] postgres@postgres CONTEXT: SQL statement "select b from numbers where a=x" PL/pgSQL function test_param_where() line 6 at SQL statement 2017-11-18 08:04:35.965 UTC [3378] postgres@postgres STATEMENT: SELECT test_param_where(); Dropping cluster 10/regress ... regression.diffs * /tmp/autopkgtest.wiczIO/build.GCp/src/expected/mysql_fdw.out 2017-11-18 08:03:58.000000000 +0000 --- /tmp/autopkgtest.wiczIO/build.GCp/src/results/mysql_fdw.out 2017-11-18 08:04:36.276661997 +0000


* 344,358 ** NOTICE: Found number Three NOTICE: Found number Four NOTICE: Found number Five ! NOTICE: Found number Six ! NOTICE: Found number Seven ! NOTICE: Found number Eight ! NOTICE: Found number Nine ! test_param_where ! ------------------ ! ! (1 row) ! DELETE FROM employee; DELETE FROM department; DELETE FROM empdata; --- 344,352 ---- NOTICE: Found number Three NOTICE: Found number Four NOTICE: Found number Five ! ERROR: unrecognized node type: 217 ! CONTEXT: SQL statement "select b from numbers where a=x" ! PL/pgSQL function test_param_where() line 6 at SQL statement DELETE FROM employee; DELETE FROM department; DELETE FROM empdata;

======================================================================

== dropping the MySQL test database

DROP USER 'foo'@'127.0.0.1'


DROP DATABASE testdb

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/EnterpriseDB/mysql_fdw/issues/150#issuecomment-345681322, or mute the thread https://github.com/notifications/unsubscribe-auth/AHmqpFth8Yc8tRBGE9uS5Fy2G4kidcMLks5s4W_qgaJpZM4QHMeb .

-- Ahsan Hadi Snr Director Product Development EnterpriseDB Corporation The Enterprise Postgres Company

Phone: +92-51-8358874 Mobile: +92-333-5162114

Website: www.enterprisedb.com EnterpriseDB Blog: http://blogs.enterprisedb.com/ Follow us on Twitter: http://www.twitter.com/enterprisedb

This e-mail message (and any attachment) is intended for the use of the individual or entity to whom it is addressed. This message contains information from EnterpriseDB Corporation that may be privileged, confidential, or exempt from disclosure under applicable law. If you are not the intended recipient or authorized to receive this for the intended recipient, any use, dissemination, distribution, retention, archiving, or copying of this communication is strictly prohibited. If you have received this e-mail in error, please notify the sender immediately by reply e-mail and delete this message.

lfittl commented 6 years ago

@ahsanhadi @xnox Per http://autopkgtest.ubuntu.com/packages/postgresql-mysql-fdw this seems to be passing now - is mysql_fdw now working as expected with Postgres 10?

xnox commented 6 years ago

A test failure is now ignored, see https://github.com/EnterpriseDB/mysql_fdw/issues/147