Come penso tu abbia capito, non vuoi le parentesi dopo DISTINCT . Sembrano che dovrebbero parametrizzare DISTINCT , ma in realtà servono a fare in modo che la query restituisca una singola colonna di tipo record anziché più colonne. Il DISTINCT l'operatore quindi prova a lavorare sul record e scopre che non hai definito un ordinamento su quel record.
Se vuoi DISTINCT per lavorare su un sottoinsieme dei tuoi valori di ritorno, usa DISTINCT ON .