Sim, use um índice ÚNICO parcial .
CREATE UNIQUE INDEX tbl_txt_is_published_idx ON tbl (text) WHERE is_published;
Exemplo:
Como adicionar um índice exclusivo condicional no PostgreSQL
CREATE UNIQUE INDEX tbl_txt_is_published_idx ON tbl (text) WHERE is_published;