Generalproger,
вы неверно представляете сравнение массивов. они сравниваются как слова (ращной вообще-то длины), вместо букв -- элементы.
а вам видимо хочется поэлементного сравнения
SELECT
ARRAY []::float4[] > array[0::float4,1500,0,30]
,ARRAY[0.5::float4,2500,2980.7,1]>array[0::float4,1500,0,30]
,ARRAY[0.5::float4]>array[0::float4,1500,0,30] -- тащемто -- вот что имеет вес
-- полагаю вам нужно что-то из :
,(SELECT bool_and(u>v) FROM (SELECT unnest(ARRAY[0.5::float4,2500,2980.7,1])u ,unnest (array[0::float4,1500,0,30]) v)foo )