Tabla recursiva

Buenas. Yo tengo una tabla “servicios” de la siguiente forma.



CREATE TABLE es_final.servicios
(
  id_servicio bigserial NOT NULL,
  sigla_serv character varying(6) NOT NULL,
  nombre_serv character varying(30) NOT NULL,
  descripcion character varying(255) NOT NULL,
  tamano character varying(10),
  imagen bytea,
  parent_id_servicio bigint DEFAULT null,
  CONSTRAINT servicios_pk PRIMARY KEY (id_servicio),
  CONSTRAINT servicios_servicios_fk FOREIGN KEY (parent_id_servicio)
      REFERENCES es_final.servicios (id_servicio) 
)


Mi idea es hacer una tabla recursiva, ya que un servicio puede ser padre de otros. El problema surge cuando cargo un servicio el cual no tiene padre. parent_id_servicio acepta valor null, pero cuando hago la consulta para traer los servicios que no tienen padre, no me muestra nada. Tampoco funciona que tome el valor 0 por la clave foránea.

¿Me pueden dar una manito?

Consulta SQL



SELECT * FROM es_final.servicios
WHERE parent_id_servicio=null;


Proba con:
SELECT * FROM es_final.servicios WHERE parent_id_servicio IS null;

Saludos, Nico