diff -Nup patches-didnotexist/patch-Pg_pm patches/patch-Pg_pm
--- patches-didnotexist/patch-Pg_pm	Wed Dec 31 16:00:00 1969
+++ patches/patch-Pg_pm	Tue Apr  4 03:47:54 2006
@@ -0,0 +1,19 @@
+$OpenBSD$
+--- Pg.pm.orig	Tue Apr  4 12:41:52 2000
++++ Pg.pm	Tue Apr  4 03:47:19 2006
+@@ -351,6 +351,15 @@ been received from the backend using get
+ 
+ Returns a newly allocated, initialized result with given status. 
+ 
++    $dbsafe_string = Pg::escapeString($unsafe);
++
++Returns an escaped string for use within an SQL command. This is
++useful when inserting data values as literal constants in SQL
++commands. Certain characters (such as quotes and backslashes)
++must be escaped to prevent them from being interpreted specially
++by the SQL parser. Pg::escapeString performs this operation.
++
++
+ 
+ =head2 2. Result
+ 
diff -Nup patches-didnotexist/patch-Pg_xs patches/patch-Pg_xs
--- patches-didnotexist/patch-Pg_xs	Wed Dec 31 16:00:00 1969
+++ patches/patch-Pg_xs	Tue Apr  4 04:53:39 2006
@@ -0,0 +1,27 @@
+$OpenBSD$
+--- Pg.xs.orig	Tue Apr  4 12:08:46 2000
++++ Pg.xs	Tue Apr  4 03:39:06 2006
+@@ -182,6 +182,23 @@ resStatus(status)
+ 		RETVAL
+ 
+ 
++void
++escapeString(str)
++	const char* str
++	PREINIT:
++		size_t s;
++		SV* tmp;
++		SV* dbsafe_str;
++	PPCODE:
++		tmp = newSVpv("", strlen(str)*2 + 1);
++		s = PQescapeString(SvPV_nolen(tmp), str, strlen(str));
++
++		dbsafe_str = newSVpv(SvPV_nolen(tmp), 0);
++		SvREFCNT_dec(tmp);
++
++		EXTEND(SP, 1);
++		PUSHs(sv_2mortal(dbsafe_str));
++
+ 
+ 
+ MODULE = Pg		PACKAGE = PG_conn		PREFIX = PQ
