Re: cross-database references are not implemented

Lists: pgsql-sql
From: "Paul Dam" <p(dot)dam(at)amyyon(dot)nl>
To: <pgsql-sql(at)postgresql(dot)org>
Subject: cross-database references are not implemented
Date: 2008-06-03 13:12:08
Message-ID: 28DD271C986F234A9B4573938292C1B3048624@s0008.a-more.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-sql

Hoi,

I have a database with 2 schemas:

- public

- export

In the export schema I have tables that are filled during an export
process.

There is some data I want to have in a table in the public schema as
well.

I wrote a trigger function that after insert in the export table does an
export in the public table.

If I do an insert I get the error message: "ERROR: cross-database
references are not implemented".

How can I solve this?

Met vriendelijke groet,

Paul Dam


From: "Pavel Stehule" <pavel(dot)stehule(at)gmail(dot)com>
To: "Paul Dam" <p(dot)dam(at)amyyon(dot)nl>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: cross-database references are not implemented
Date: 2008-06-03 13:51:03
Message-ID: 162867790806030651p5eb8a5f5n9a63afd1a64bee44@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-sql

Hello

it works for me

postgres=# create schema export;
CREATE SCHEMA
Time: 45,918 ms
postgres=# create table public.a(a varchar);
CREATE TABLE
Time: 91,385 ms
postgres=# create table export.a(a varchar);
\CREATE TABLE
Time: 9,462 ms
postgres=# create function ftrg() returns trigger as $$begin insert
into export.a values(new.*); return new; end$$ language plpgsql;
CREATE FUNCTION
Time: 486,395 ms
postgres=# \h CREATE trigger
Command: CREATE TRIGGER
Description: define a new trigger
Syntax:
CREATE TRIGGER name { BEFORE | AFTER } { event [ OR ... ] }
ON table [ FOR [ EACH ] { ROW | STATEMENT } ]
EXECUTE PROCEDURE funcname ( arguments )

postgres=# CREATE TRIGGER aaa after insert on public.a for each row
execute procedure ftrg();
CREATE TRIGGER
Time: 5,848 ms
postgres=# insert into public.a values('ahoj');
INSERT 0 1
Time: 5,179 ms
postgres=# SELECT * from export.a ;
a
------
ahoj
(1 row)

postgresql 8.3

Pavel

2008/6/3 Paul Dam <p(dot)dam(at)amyyon(dot)nl>:
> Hoi,
>
>
>
> I have a database with 2 schemas:
>
> - public
>
> - export
>
>
>
> In the export schema I have tables that are filled during an export process.
>
> There is some data I want to have in a table in the public schema as well.
>
> I wrote a trigger function that after insert in the export table does an
> export in the public table.
>
>
>
> If I do an insert I get the error message: "ERROR: cross-database
> references are not implemented".
>
>
>
> How can I solve this?
>
>
>
> Met vriendelijke groet,
>
>
>
> Paul Dam


From: Adrian Klaver <aklaver(at)comcast(dot)net>
To: pgsql-sql(at)postgresql(dot)org
Cc: "Paul Dam" <p(dot)dam(at)amyyon(dot)nl>
Subject: Re: cross-database references are not implemented
Date: 2008-06-03 13:57:17
Message-ID: 200806030657.17492.aklaver@comcast.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-sql

On Tuesday 03 June 2008 6:12 am, Paul Dam wrote:
> Hoi,
>
>
>
> I have a database with 2 schemas:
>
> - public
>
> - export
>
>
>
> In the export schema I have tables that are filled during an export
> process.
>
> There is some data I want to have in a table in the public schema as
> well.
>
> I wrote a trigger function that after insert in the export table does an
> export in the public table.
>
>
>
> If I do an insert I get the error message: "ERROR: cross-database
> references are not implemented".
>
>
>
> How can I solve this?
>
>
>
> Met vriendelijke groet,
>
>
>
> Paul Dam

You will need to show the actual query, but I suspect you have an extra period
in your table name. Instead of public.table_name you have something like
public.table.name.
--
Adrian Klaver
aklaver(at)comcast(dot)net


From: "Paul Dam" <p(dot)dam(at)amyyon(dot)nl>
To: "Adrian Klaver" <aklaver(at)comcast(dot)net>, <pgsql-sql(at)postgresql(dot)org>
Subject: Re: cross-database references are not implemented
Date: 2008-06-03 14:02:51
Message-ID: 28DD271C986F234A9B4573938292C1B3048626@s0008.a-more.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-sql

Thanks Adrian,

I casted a column to a type with "value::<schema>.<table>.<column>%type"
That was the problem.

Met vriendelijke groet,
Paul Dam

-----Oorspronkelijk bericht-----
Van: Adrian Klaver [mailto:aklaver(at)comcast(dot)net]
Verzonden: dinsdag 3 juni 2008 15:57
Aan: pgsql-sql(at)postgresql(dot)org
CC: Paul Dam
Onderwerp: Re: [SQL] cross-database references are not implemented

On Tuesday 03 June 2008 6:12 am, Paul Dam wrote:
> Hoi,
>
>
>
> I have a database with 2 schemas:
>
> - public
>
> - export
>
>
>
> In the export schema I have tables that are filled during an export
> process.
>
> There is some data I want to have in a table in the public schema as
> well.
>
> I wrote a trigger function that after insert in the export table does
an
> export in the public table.
>
>
>
> If I do an insert I get the error message: "ERROR: cross-database
> references are not implemented".
>
>
>
> How can I solve this?
>
>
>
> Met vriendelijke groet,
>
>
>
> Paul Dam

You will need to show the actual query, but I suspect you have an extra
period
in your table name. Instead of public.table_name you have something like

public.table.name.
--
Adrian Klaver
aklaver(at)comcast(dot)net