Có vẻ như post_id thuộc loại TEXT thay vì INTEGER. Để khắc phục điều này, bạn phải thay đổi kiểu dữ liệu. Điều này đã được thay đổi trong phiên bản 8.3, phiên bản cũ hơn có một dàn diễn viên ngầm. Bạn có thể yêu cầu PostgreSQL làm như vậy:
CREATE FUNCTION pg_catalog.text(integer) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int4out($1));';
CREATE CAST (integer AS text) WITH FUNCTION pg_catalog.text(integer) AS IMPLICIT;
CREATE FUNCTION pg_catalog.text(smallint) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int2out($1));';
CREATE CAST (smallint AS text) WITH FUNCTION pg_catalog.text(smallint) AS IMPLICIT;
CREATE FUNCTION pg_catalog.text(bigint) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int8out($1));';
CREATE CAST (bigint AS text) WITH FUNCTION pg_catalog.text(bigint) AS IMPLICIT;
Xem thêm http://wiki.postgresql.org/wiki/Image :Pg83-implicit-casts.sql