sql >> Database >  >> RDS >> PostgreSQL

Postgres-fout met Sinatra/Haml/DataMapper op Heroku

Het lijkt erop dat post_id van het type TEXT is in plaats van INTEGER. Om dit op te lossen, moet u het datatype wijzigen. Dit is gewijzigd in versie 8.3, oudere versies hebben een impliciete cast. U kunt PostgreSQL vertellen om dit te doen:

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;

Zie ook http://wiki.postgresql.org/wiki/Image :Pg83-implicit-casts.sql




  1. Mysql maakt een while-lus aan zonder een procedure te maken

  2. Lijst en kolommen in één instructie weergeven

  3. Tabel maken met identiteitskolom

  4. Kan niet implementeren op Heroku omdat de server de verbinding heeft geweigerd