Bonjour à tous

Je suis embêté sur une requête "select" sur une colonne d'un type créé artificiellement.

En effet, je crée un type "xxx" via create type ... puis je crée ma table contenant une colonne de ce type puis j'insère des données. Jusque là ça va.
Mais quand je veux requêter sur cette colonne ça me répond "cannot compare dissimilar column types character and unknown at record column 1". Je comprends bien que ma syntaxe n'est pas bonne mais je n'ai pas réussi à trouver comment l'écrire.

Par exemple voici un code minimaliste mais complet de mon souci
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
drop database if exists "bdd_test";
create database "bdd_test"
	template = "template0"
	encoding = 'utf8';
\connect "bdd_test"
 
create type "complex" as (
	"reel" smallint,
	"img" smallint
);
comment on type "complex" is 'Type nombre complexe';
 
create table "calcul" (
	"id_calcul" integer not null check ("id_calcul" > 0),
	"nbr" "complex" not null,
	primary key("id_calcul")
);
 
insert into calcul values(1, row(2, -2));
select * from calcul;
select * from calcul where nbr=row(2, -2);

C'est ce dernier select qui ne fonctionne pas et je n'arrive pas à trouver la syntaxe exacte pour faire ma requête. Pourtant ça me semblait logique de l'écrire comme pour l'insert...

Donc voilà, je suis bloqué et espère votre aide.

Merci à tous de votre attention.