Ошибка postgres_fdw не удалось подключиться к серверу

Я написал эти строки кода PostgreSQL, но у меня следующая ошибка:

ОШИБКА: не удалось подключиться к серверу "сервер \sqlexpress"

Состояние SQL: 08001

Что я делаю неправильно?

Мой код:

ИСПОЛЬЗОВАНИЕ PostgreSQL 9.3 в Windows 8.1 и MS SQL Express 2012 в тех же окнах

  CREATE EXTENSION posgres_fdw;
  Query returned successfully with no result in 11 ms. 

  CREATE SERVER "server\SQLExpress" FOREIGN DATA WRAPPER postgres_fdw 
    OPTIONS (host 'localhost', dbname 'andesmar'); 
  Query returned successfully with no result in 12 ms.

  CREATE USER MAPPING FOR public SERVER "server\sqlexpress" 
    OPTIONS (user 'sa', password '1234'); 
  Query returned successfully with no result in 12 ms.

  CREATE FOREIGN TABLE datosplataforma (
     id                 bigint NOT NULL,
     messagedate        date NOT NULL,
     receiveddate       date NOT NULL,
     latitude           real,
     longitude          real,
     GPSspeed           real,
     bearingangle       integer,
     odometer           integer,
     eventtypeid        integer,
     vehicleid          integer,
     alertid            integer
   )
   SERVER "server\sqlexpress";
   Query returned successfully with no result in 12 ms.

   select * from datosplataforma; 
     ERROR: could not connect to server "server\sqlexpress"
     SQL state: 08001

2 ответа

Решение

postgres_fdw подключается к другому серверу PostgreSQL, а не к MS SQL Server.

Если вы хотите подключиться к MS SQL, вам нужно использовать ODBC или JDBC FDW с драйвером MS SQL ODBC или JDBC или использовать выделенный MS SQL FDW.

Смотрите: http://wiki.postgresql.org/wiki/Foreign_data_wrappers

Я тоже встретил ту же ошибку. Если сервер такой же, как ваш текущий сервер, вам не следует упоминать хост и порт, возможно, вам нужно написать код:

      CREATE SERVER "server\SQLExpress" FOREIGN DATA WRAPPER postgres_fdw
    OPTIONS (dbname 'andesmar'); 

Остальные такие же.

Другие вопросы по тегам