Si è vero SQL:1999, o SQL3 come dir si voglia, permette la definizione di tipi di dati strutturati quali BLOB (Binary Large Object) e CLOB (Character Large Object), il discorso è che per entrambi i domini il sistema (non solo PostgreSQL, ma anche altri che permettono la definizione di questi) garantisce solo di memorizzare il valore, ma non permette che il valore venga utilizzato come criterio di selezione per le interrogazioni. Il mio problema consiste nel fatto che io devo fare un'analisi sulla possibile estensione dei domini del PostgreSQL, quindi eseguire una successiva modifica del codice sorgente e ricompilazione di questo al fine di poter eseguire nella clausola WHERE confronti fra dati strutturati (tipo immagini ad esempio). Per me è quindi importante capire come il sistema definisce le strutture di dati appunto "strutturati" e rendersi conto di come fare, senza usare classi ed oggetti, a definire dei metodi che siano abili operatori di confronto fra questi dati strutturati. Lasciamo perdere il senso che può avere o meno eseguire un confronto fra due immagini, pensa a due attributi che memorizzano dei vettori (vect) e pensa che io devo modificare il PostgreSQL in modo tale da poter scrivere una query così:

SELECT tabella1.nome, tabella2.nome
FROM tabella1, tabella2
WHERE tabella1.vect>tabella2.vect

Spero in qualche modo di averti fatto capire che ho ben chiaro qual è il mio scopo ma che non conosco il codice sorgente e al momento ho dei seri dubbi su come operare in tal senso... fatto sta che da qualche parte devo iniziare e per togliersi i dubbi e capire come stanno le cose spesso si dicono anche degli sfondoni!