Ошибка 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');
Остальные такие же.