PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Postgres-Fehler mit Sinatra/Haml/DataMapper auf Heroku

Es sieht so aus, als ob post_id vom Typ TEXT statt INTEGER ist. Um dies zu beheben, müssen Sie den Datentyp ändern. Dies wurde in Version 8.3 geändert, ältere Versionen haben eine implizite Umwandlung. Sie können PostgreSQL dazu anweisen:

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;

Siehe auch http://wiki.postgresql.org/wiki/Image :Pg83-implicit-casts.sql