1
CREATE TABLESPACE fnord1 location '/tmp/fnord1';
CREATE TABLESPACE fnord2 location '/tmp/fnord2';
CREATE SCHEMA IF NOT EXISTS fnord;
DROP TABLE IF EXISTS fnord.shea;
DROP TABLE IF EXISTS fnord.wilson;
CREATE TABLE fnord.shea (
id text not null,
CONSTRAINT fnord_shea_id PRIMARY KEY (id) USING INDEX TABLESPACE fnord2
) TABLESPACE fnord1;
CREATE TABLE fnord.wilson (
thing text not null,
shea_id bigserial not null,
CONSTRAINT fnord_wilson_id PRIMARY KEY (thing, shea_id) USING INDEX TABLESPACE fnord2,
CONSTRAINT fnord_wilson_shea_fkey FOREIGN KEY (shea_id) REFERENCES fnord.shea.id
) TABLESPACE fnord1;
Cela échoue en raison de la déclaration clé étrangère, avec
ERROR: cross-database references are not implemented: "fnord.shea.id"
Mais ... ce sont dans la même base de données, sont-ils pas? Si non, quelle est la bonne façon de les obtenir dans la même base de données?
ahhh, c'est là où je suis allé mal. J'ai eu quelques exemples mais je ne me suis pas rendu compte que c'était une colonne, plutôt qu'une autre sorte de syntaxe. –