Search Postgresql Archives

Re: PG 9.5.2, freetds + tds_fdw => server crash

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 04/27/2016 07:11 AM, Daniel Westermann wrote:
Hi,

I have installed freetds and can connect to the remote mssql server:

postgres@pgreporting:/home/postgres/ [PGREP] tsql -S mssql -U ds2user -P
xxxxxxx -D ds2 -o v
locale is
"LC_CTYPE=en_US.UTF-8;LC_NUMERIC=de_CH.UTF-8;LC_TIME=en_US.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=de_CH.UTF-8;LC_MESSAGES=en_US.UTF-8;LC_PAPER=de_CH.UTF-8;LC_NAME=de_CH.UTF-8;LC_ADDRESS=de_CH.UTF-8;LC_TELEPHONE=de_CH.UTF-8;LC_MEASUREMENT=de_CH.UTF-8;LC_IDENTIFICATION=de_CH.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
Setting ds2 as default database in login packet
1> select count(*) from sys.databases;
2> go

5
(1 row affected)
using TDS version 7.3

PostgreSQL version is 9.5.2:

postgres=# select version();

version
----------------------------------------------------------------------------------------------------------------------------
 PostgreSQL 9.5.2 dbi services build on x86_64-pc-linux-gnu, compiled by
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4), 64-bit
(1 row)


Created the fdw stuff like this:


postgres=# \dx
                                            List of installed extensions
  Name   | Version |   Schema   |
Description
---------+---------+------------+-----------------------------------------------------------------------------------
 plpgsql | 1.0     | pg_catalog | PL/pgSQL procedural language
 tds_fdw | 1.0.7   | public     | Foreign data wrapper for querying a
TDS database (Sybase or Microsoft SQL Server)
(2 rows)

postgres=# create server mssql_svr foreign data wrapper tds_fdw options
( servername '192.168.22.102', port '1433',  database 'ds2', tds_version
'7.3', msg_handler 'notice' );
CREATE SERVER
postgres=# CREATE USER MAPPING FOR postgres SERVER mssql_svr  OPTIONS
(username 'ds2user', password 'xxxxxx');
CREATE USER MAPPING
postgres=# create foreign table ds2_mssql.customers
(CUSTOMERID            int
,FIRSTNAME             varchar(50)
,LASTNAME              varchar(50)
,ADDRESS1              varchar(50)
,ADDRESS2              varchar(50)
,CITY                  varchar(50)
,STATE                 varchar(50)
,ZIP                   int
,COUNTRY               varchar(50)
,REGION                int
,EMAIL                 varchar(50)
,PHONE                 varchar(50)
,CREDITCARDTYPE        int
,CREDITCARD            varchar(50)
,CREDITCARDEXPIRATION  varchar(50)
,USERNAME              varchar(50)
,PASSWORD              varchar(50)
,AGE                   int
,GENDER                varchar(50))
SERVER mssql_svr
    OPTIONS (query 'select * from dbo.customers', row_estimate_method
'showplan_all');
CREATE FOREIGN TABLE

Once I do a select from the foreign table the server just crashes:

postgres=# select count(*) from ds2_mssql.customers;
server closed the connection unexpectedly
    This probably means the server terminated abnormally
    before or while processing the request.
The connection to the server was lost. Attempting reset: Failed.
!>

This is from the log:

2016-04-24 14:34:31.896 CEST - 16 - 23252 -  - @ LOG:  server process
(PID 23796) was terminated by signal 11: Segmentation fault
2016-04-24 14:34:31.896 CEST - 17 - 23252 -  - @ DETAIL:  Failed process
was running: select count(*) from ds2_mssql.customers;
2016-04-24 14:34:31.896 CEST - 18 - 23252 -  - @ LOG:  terminating any
other active server processes
2016-04-24 14:34:31.898 CEST - 2 - 23454 -  - @ WARNING:  terminating
connection because of crash of another server process
2016-04-24 14:34:31.898 CEST - 3 - 23454 -  - @ DETAIL:  The postmaster
has commanded this server process to roll back the current transaction
and exit, because another server process exited abnormally and possibly
corrupted shared memory.
2016-04-24 14:34:31.898 CEST - 4 - 23454 -  - @ HINT:  In a moment you
should be able to reconnect to the database and repeat your command.
2016-04-24 14:34:31.901 CEST - 19 - 23252 -  - @ LOG:  archiver process
(PID 23455) exited with exit code 1
2016-04-24 14:34:31.901 CEST - 1 - 23797 - [local] - postgres@postgres
FATAL:  the database system is in recovery mode
2016-04-24 14:34:31.902 CEST - 20 - 23252 -  - @ LOG:  all server
processes terminated; reinitializing
2016-04-24 14:34:31.931 CEST - 1 - 23798 -  - @ LOG:  database system
was interrupted; last known up at 2016-04-24 14:33:15 CEST
2016-04-24 14:34:32.262 CEST - 2 - 23798 -  - @ LOG:  database system
was not properly shut down; automatic recovery in progress
2016-04-24 14:34:32.264 CEST - 3 - 23798 -  - @ LOG:  redo starts at
0/7074278
2016-04-24 14:34:32.264 CEST - 4 - 23798 -  - @ LOG:  invalid record
length at 0/7077270
2016-04-24 14:34:32.264 CEST - 5 - 23798 -  - @ LOG:  redo done at 0/7076100
2016-04-24 14:34:32.266 CEST - 6 - 23798 -  - @ LOG:  checkpoint
starting: end-of-recovery immediate
2016-04-24 14:34:32.270 CEST - 7 - 23798 -  - @ LOG:  checkpoint
complete: wrote 3 buffers (0.0%); 0 transaction log file(s) added, 0
removed, 0 recycled; write=0.000 s, sync=0.001 s, total=0.005 s; sync
files=1, longest=0.001 s, average=0.001 s; distance=12 kB, estimate=12 kB
2016-04-24 14:34:32.272 CEST - 8 - 23798 -  - @ LOG:  MultiXact member
wraparound protections are now enabled
2016-04-24 14:34:32.274 CEST - 21 - 23252 -  - @ LOG:  database system
is ready to accept connections
2016-04-24 14:34:32.274 CEST - 1 - 23802 -  - @ LOG:  autovacuum
launcher started

If I increase the log level:

postgres=# alter system set log_min_messages='INFO';
ALTER SYSTEM

... I additionally get this:

2016-04-24 14:43:56.265 CEST - 1 - 24539 - [local] - postgres@postgres
NOTICE:  DB-Library notice: Msg #: 5701, Msg state: 2, Msg: Changed
database context to 'ds2'., Server: WSCORE\SQL2014, Process: , Line: 1,
Level: 0
2016-04-24 14:43:56.265 CEST - 2 - 24539 - [local] - postgres@postgres
NOTICE:  DB-Library notice: Msg #: 5703, Msg state: 1, Msg: Changed
language setting to us_english., Server: WSCORE\SQL2014, Process: ,
Line: 1, Level: 0
2016-04-24 14:43:56.268 CEST - 3 - 24539 - [local] - postgres@postgres
NOTICE:  DB-Library notice: Msg #: 5701, Msg state: 2, Msg: Changed
database context to 'ds2'., Server: WSCORE\SQL2014, Process: , Line: 1,
Level: 0
2016-04-24 14:43:56.268 CEST - 4 - 24539 - [local] - postgres@postgres
NOTICE:  DB-Library notice: Msg #: 5703, Msg state: 1, Msg: Changed
language setting to us_english., Server: WSCORE\SQL2014, Process: ,
Line: 1, Level: 0


The OS is (64bit):

postgres@pgreporting:/home/postgres/ [PGREP] cat /etc/centos-release
CentOS Linux release 7.2.1511 (Core)

Any ideas?

File an issue here:

https://github.com/tds-fdw/tds_fdw/issues


Thanks in advance
Daniel


--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx


--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux