Hi!
The LIKE query probably doesn't use an index and thus finds the relevant data via sequential scan and equality checks on each record.
Yeah, exactly. An equality condition will use a btree index if available. LIKE, however, sees the "_" as a wildcard so it cannot use an index and resorts to a seqscan --- which will work fine. It's just index searches (and index-based sorts) that are broken. Of course, if there isn't an index on the column in question then this theory falls to the ground.
There is composite index on baas column CREATE TABLE public.desktop ( id integer NOT NULL DEFAULT nextval('desktop_id_seq'::regclass), recordtype character(5) COLLATE pg_catalog."default" NOT NULL, klass character(1) COLLATE pg_catalog."default", baas character(8) COLLATE pg_catalog."default" NOT NULL, liigid character(1) COLLATE pg_catalog."default" NOT NULL DEFAULT ''::bpchar, jrk numeric(4,0) NOT NULL DEFAULT 0, ... CONSTRAINT desktop_pkey PRIMARY KEY (id), CONSTRAINT desktop_baas_not_empty CHECK (baas <> ''::bpchar), CONSTRAINT desktop_id_check CHECK (id > 0), CONSTRAINT desktop_recordtype_check CHECK (recordtype = 'Aken'::bpchar OR recordtype = 'Veerg'::bpchar) ) TABLESPACE pg_default; CREATE INDEX desktop_baas_liigid_idx ON public.desktop USING btree (baas COLLATE pg_catalog."default" ASC NULLS LAST, liigid COLLATE pg_catalog."default" ASC NULLS LAST) TABLESPACE pg_default; Maybe it is possible to force postgres in windows to use the same locale as in Linux. Locales are actually the same. Andrus.