2016-11-17 15 views
0

現在のデータベース(management)に新しいスキーマを作成した場合、それはなぜデータベース間の参照について不平を言っていますか?Postgresの外部キー/スキーマの問題

management=# create schema mgschema; 
CREATE SCHEMA 

management=# alter table clients add column task_id int null references mgschema.tasks.id; 
ERROR: cross-database references are not implemented: "mgschema.tasks.id" 

答えて

1
alter table clients add column task_id int null references mgschema.tasks.id; 

正しくないでREFERENCES構文は、あなたが使用する必要があります。

REFERENCES reftable [ (refcolumn) ] 
+0

ありがとう、そのようなトリビュアリティ。 :oそれは今働きます。 –

+0

ようこそ。 – McNets

1

はシンプルreferencesはテーブル名を期待しています。外部キーは自動的にそのテーブルの主キーをポイントします。

alter table clients add column task_id int null references mgschema.tasks; 

別の選択肢はなく、単一の識別子と、テーブルおよび列を指定することである:ターゲット表は、複数の一意性制約を持つ場合

alter table clients add column task_id int null references mgschema.tasks (id); 

第二のフォーマットが必要です。