diff --git a/src/tools/pgindent/pgindent b/src/tools/pgindent/pgindent
index a32aaa6..99fd99d 100755
--- a/src/tools/pgindent/pgindent
+++ b/src/tools/pgindent/pgindent
@@ -55,6 +55,13 @@ my @files;
 my $filtered_typedefs_fh;
 
 
+# make sure these entries are there
+my @whitelist = ("bool\n");
+# make sure these aren't there
+my %blacklist = map { "$_\n" => 1}
+  qw ( FD_SET date interval timestamp ANY
+       abs boolean iterator other pointer reference string type);
+
 sub check_indent
 {
 	system("$indent -? < $devnull > $devnull 2>&1");
@@ -118,9 +125,12 @@ sub load_typedefs
 		}
 	}
 
-	# remove certain entries
+	# add whitelisted entries
+	push(@typedefs, @whitelist);
+
+	# remove blacklisted entries
 	@typedefs =
-	  grep { !m/^(FD_SET|date|interval|timestamp|ANY)\n?$/ } @typedefs;
+	  grep { ! $blacklist{$_} } @typedefs;
 
 	# write filtered typedefs
 	my $filter_typedefs_fh = new File::Temp(TEMPLATE => "pgtypedefXXXXX");
