diff --git a/src/interfaces/libpgeasy/examples/pgmultiresult.c b/src/interfaces/libpgeasy/examples/pgmultiresult.c
new file mode 100644
index 0000000000000000000000000000000000000000..f5cf2112dd00d44c6677ab7d5b8e2056fe29c4fb
--- /dev/null
+++ b/src/interfaces/libpgeasy/examples/pgmultiresult.c
@@ -0,0 +1,68 @@
+/*
+ * pgmultiresult.c
+ *
+ */
+
+#include <stdio.h>
+#include "libpq-fe.h"
+#include "../halt.h"
+#include "libpgeasy.h"
+
+int
+main(int argc, char **argv)
+{
+	char		query[4000];
+	char		val[4000];
+	char		optstr[256];
+	PGresult 	*res1, *res2;
+	int			res1_done = 0, res2_done = 0;
+
+	if (argc != 2)
+		halt("Usage:  %s database\n", argv[0]);
+
+	snprintf(optstr, 256, "dbname=%s", argv[1]);
+	connectdb(optstr);
+
+	doquery("\
+		SELECT lanname \
+		FROM pg_language \
+		ORDER BY lanname \
+		");
+	res1 = get_result();
+
+	doquery("\
+		SELECT amname \
+		FROM pg_am \
+		ORDER BY amname \
+		");
+	res2 = get_result();
+
+	while (!res1_done && !res2_done)
+	{
+
+		set_result(res1);
+
+		if (!res1_done)
+		{
+			if (fetch(val) != END_OF_TUPLES)
+				puts(val);
+			else	res1_done = 1;
+		}
+
+		res1 = get_result();
+
+		set_result(res2);
+
+		if (!res2_done)
+		{
+			if (fetch(val) != END_OF_TUPLES)
+				puts(val);
+			else	res2_done = 1;
+		}
+
+		res2 = get_result();
+	}
+
+	disconnectdb();
+	return 0;
+}