elmah/PgsqlErrorLog

Error Details page does not work with Npgsql 3.x (Postgre)

Closed this issue · 0 comments

This issue has been moved here from elmah/Elmah#427 and originally reported by @iboware.

Postgre connection doesn't work with Npgsql 3.x. It connects and error list is visible, but the problem occurs only when you wanted to see the detail of an error.
Error: 42883: operator does not exist: character = uuid
Possible fix: npgsql/npgsql#1304

image

Additional information about the bug, it seems that bug exists since 2015:
npgsql/npgsql#753 (comment)

By changing the type of errorid column to uuid, I got it working with the existing code. Here is the DDL for elmah_error table:

CREATE TABLE public.elmah_error (
	errorid uuid NOT NULL,
	application varchar(60) NOT NULL,
	host varchar(50) NOT NULL,
	"type" varchar(100) NOT NULL,
	"source" varchar(60) NOT NULL,
	message varchar(500) NOT NULL,
	"User" varchar(50) NOT NULL,
	statuscode int4 NOT NULL,
	timeutc timestamp NOT NULL,
	"sequence" int4 NOT NULL DEFAULT nextval('elmah_error_sequence'::regclass),
	allxml text NOT NULL,
	PRIMARY KEY (errorid)
)
WITH (
	OIDS=FALSE
) ;
CREATE INDEX ix_elmah_error_app_time_seq ON elmah_error USING btree (application, timeutc DESC, sequence DESC) ;