Subject: BUG #8901: postgres_fdw double-qualifying schemas

From: [email-masked]
Date: Tue, 21 Jan 2014 14:05:04 +0000

The following bug has been logged on the website:

Bug reference:      8901
Logged by:          Alex
Email address:      [email-masked]
PostgreSQL version: 9.3.2
Operating system:   Windows 7
Description:        

I posted a question on Stackoverflow regarding postgres_fdw. I was advised
to report it here and link to it:
http://stackoverflow.com/q/21193642/797021.

In short, the issue is that this psql input: 
CREATE USER test_user SUPERUSER PASSWORD 'password';
SET ROLE test_user;
CREATE DATABASE import;
CREATE DATABASE export;
\c export test_user
CREATE SCHEMA export_schema;
CREATE TABLE export_schema.aa (
	id serial PRIMARY KEY,
	dat text
);
\c import test_user
CREATE EXTENSION postgres_fdw;
CREATE SERVER export_server 
	FOREIGN DATA WRAPPER postgres_fdw
	OPTIONS (host 'localhost', dbname 'export', port '5432');
CREATE USER MAPPING FOR test_user 
	SERVER export_server
	OPTIONS (user 'test_user', password 'password');
CREATE SCHEMA import_schema;		
CREATE FOREIGN TABLE import_schema.aa(
	id serial NOT NULL,
	dat text
) SERVER export_server OPTIONS (table_name 'export_schema.aa');
SELECT * FROM import_schema.aa;

Which I expect to work, instead gives this error: 

ERROR:  relation "import_schema.export_schema.aa" does not exist
CONTEXT:  Remote SQL command: SELECT id, dat FROM
import_schema."export_schema.aa"

-- 
Sent via pgsql-bugs mailing list ([email-masked])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

---

From: Stephen Frost <[email-masked]>
Date: Tue, 21 Jan 2014 10:34:53 -0500

> to report it here and link to it:
[...]
> Which I expect to work, instead gives this error: 

Use: OPTIONS (schema_name 'export_schema' table_name 'aa'); above.

	Thanks,

		Stephen

---

From: Tom Lane <[email-masked]>
Date: Tue, 21 Jan 2014 12:12:26 -0500

> Use: OPTIONS (schema_name 'export_schema' table_name 'aa'); above.

This is documented in the postgres_fdw reference page, but I notice that
page has absolutely no examples.  A concrete example or two might help
perhaps.  Anybody feel like working up a patch?

			regards, tom lane