diff --git a/src/backend/catalog/system_views.sql b/src/backend/catalog/system_views.sql
index 524468fddb721f2f826098da5054ddbafd3f91fc..525a8bbb4fa737c72166db42a98c6ecc271543db 100644
--- a/src/backend/catalog/system_views.sql
+++ b/src/backend/catalog/system_views.sql
@@ -1,270 +1,273 @@
-
-
-
-CREATE VIEW pg_user AS 
-    SELECT 
-        usename, 
-        usesysid, 
-        usecreatedb, 
-        usesuper, 
-        usecatupd, 
-        '********'::text as passwd, 
-        valuntil, 
-        useconfig 
-    FROM pg_shadow;
-
-CREATE VIEW pg_rules AS 
-    SELECT 
-        N.nspname AS schemaname, 
-        C.relname AS tablename, 
-        R.rulename AS rulename, 
-        pg_get_ruledef(R.oid) AS definition 
-    FROM (pg_rewrite R JOIN pg_class C ON (C.oid = R.ev_class)) 
-        LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) 
-    WHERE R.rulename != '_RETURN';
-
-CREATE VIEW pg_views AS 
-    SELECT 
-        N.nspname AS schemaname, 
-        C.relname AS viewname, 
-        pg_get_userbyid(C.relowner) AS viewowner, 
-        pg_get_viewdef(C.oid) AS definition 
-    FROM pg_class C LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) 
-    WHERE C.relkind = 'v';
-
-CREATE VIEW pg_tables AS 
-    SELECT 
-        N.nspname AS schemaname, 
-        C.relname AS tablename, 
-        pg_get_userbyid(C.relowner) AS tableowner, 
-        C.relhasindex AS hasindexes, 
-        C.relhasrules AS hasrules, 
-        (C.reltriggers > 0) AS hastriggers 
-    FROM pg_class C LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) 
-    WHERE C.relkind = 'r';
-
-CREATE VIEW pg_indexes AS 
-    SELECT 
-        N.nspname AS schemaname, 
-        C.relname AS tablename, 
-        I.relname AS indexname, 
-        pg_get_indexdef(I.oid) AS indexdef 
-    FROM pg_index X JOIN pg_class C ON (C.oid = X.indrelid) 
-         JOIN pg_class I ON (I.oid = X.indexrelid) 
-         LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) 
-    WHERE C.relkind = 'r' AND I.relkind = 'i';
-
-CREATE VIEW pg_stats AS 
-    SELECT 
-        nspname AS schemaname, 
-        relname AS tablename, 
-        attname AS attname, 
-        stanullfrac AS null_frac, 
-        stawidth AS avg_width, 
-        stadistinct AS n_distinct, 
-        CASE 1 
-            WHEN stakind1 THEN stavalues1 
-            WHEN stakind2 THEN stavalues2 
-            WHEN stakind3 THEN stavalues3 
-            WHEN stakind4 THEN stavalues4 
-        END AS most_common_vals, 
-        CASE 1 
-            WHEN stakind1 THEN stanumbers1 
-            WHEN stakind2 THEN stanumbers2 
-            WHEN stakind3 THEN stanumbers3 
-            WHEN stakind4 THEN stanumbers4 
-        END AS most_common_freqs, 
-        CASE 2 
-            WHEN stakind1 THEN stavalues1 
-            WHEN stakind2 THEN stavalues2 
-            WHEN stakind3 THEN stavalues3 
-            WHEN stakind4 THEN stavalues4 
-        END AS histogram_bounds, 
-        CASE 3 
-            WHEN stakind1 THEN stanumbers1[1] 
-            WHEN stakind2 THEN stanumbers2[1] 
-            WHEN stakind3 THEN stanumbers3[1] 
-            WHEN stakind4 THEN stanumbers4[1] 
-        END AS correlation 
-    FROM pg_statistic s JOIN pg_class c ON (c.oid = s.starelid) 
-         JOIN pg_attribute a ON (c.oid = attrelid AND attnum = s.staattnum) 
-         LEFT JOIN pg_namespace n ON (n.oid = c.relnamespace) 
-    WHERE has_table_privilege(c.oid, 'select');
-
-REVOKE ALL on pg_statistic FROM public;
-
-CREATE VIEW pg_stat_all_tables AS 
-    SELECT 
-            C.oid AS relid, 
-            N.nspname AS schemaname, 
-            C.relname AS relname, 
-            pg_stat_get_numscans(C.oid) AS seq_scan, 
-            pg_stat_get_tuples_returned(C.oid) AS seq_tup_read, 
-            sum(pg_stat_get_numscans(I.indexrelid)) AS idx_scan, 
-            sum(pg_stat_get_tuples_fetched(I.indexrelid)) AS idx_tup_fetch, 
-            pg_stat_get_tuples_inserted(C.oid) AS n_tup_ins, 
-            pg_stat_get_tuples_updated(C.oid) AS n_tup_upd, 
-            pg_stat_get_tuples_deleted(C.oid) AS n_tup_del 
-    FROM pg_class C LEFT JOIN 
-         pg_index I ON C.oid = I.indrelid 
-         LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) 
-    WHERE C.relkind = 'r' 
-    GROUP BY C.oid, N.nspname, C.relname;
-
-CREATE VIEW pg_stat_sys_tables AS 
-    SELECT * FROM pg_stat_all_tables 
-    WHERE schemaname IN ('pg_catalog', 'pg_toast');
-
-CREATE VIEW pg_stat_user_tables AS 
-    SELECT * FROM pg_stat_all_tables 
-    WHERE schemaname NOT IN ('pg_catalog', 'pg_toast');
-
-CREATE VIEW pg_statio_all_tables AS 
-    SELECT 
-            C.oid AS relid, 
-            N.nspname AS schemaname, 
-            C.relname AS relname, 
-            pg_stat_get_blocks_fetched(C.oid) - 
-                    pg_stat_get_blocks_hit(C.oid) AS heap_blks_read, 
-            pg_stat_get_blocks_hit(C.oid) AS heap_blks_hit, 
-            sum(pg_stat_get_blocks_fetched(I.indexrelid) - 
-                    pg_stat_get_blocks_hit(I.indexrelid)) AS idx_blks_read, 
-            sum(pg_stat_get_blocks_hit(I.indexrelid)) AS idx_blks_hit, 
-            pg_stat_get_blocks_fetched(T.oid) - 
-                    pg_stat_get_blocks_hit(T.oid) AS toast_blks_read, 
-            pg_stat_get_blocks_hit(T.oid) AS toast_blks_hit, 
-            pg_stat_get_blocks_fetched(X.oid) - 
-                    pg_stat_get_blocks_hit(X.oid) AS tidx_blks_read, 
-            pg_stat_get_blocks_hit(X.oid) AS tidx_blks_hit 
-    FROM pg_class C LEFT JOIN 
-            pg_index I ON C.oid = I.indrelid LEFT JOIN 
-            pg_class T ON C.reltoastrelid = T.oid LEFT JOIN 
-            pg_class X ON T.reltoastidxid = X.oid 
-            LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) 
-    WHERE C.relkind = 'r' 
-    GROUP BY C.oid, N.nspname, C.relname, T.oid, X.oid;
-
-CREATE VIEW pg_statio_sys_tables AS 
-    SELECT * FROM pg_statio_all_tables 
-    WHERE schemaname IN ('pg_catalog', 'pg_toast');
-
-CREATE VIEW pg_statio_user_tables AS 
-    SELECT * FROM pg_statio_all_tables 
-    WHERE schemaname NOT IN ('pg_catalog', 'pg_toast');
-
-CREATE VIEW pg_stat_all_indexes AS 
-    SELECT 
-            C.oid AS relid, 
-            I.oid AS indexrelid, 
-            N.nspname AS schemaname, 
-            C.relname AS relname, 
-            I.relname AS indexrelname, 
-            pg_stat_get_numscans(I.oid) AS idx_scan, 
-            pg_stat_get_tuples_returned(I.oid) AS idx_tup_read, 
-            pg_stat_get_tuples_fetched(I.oid) AS idx_tup_fetch 
-    FROM pg_class C JOIN 
-            pg_index X ON C.oid = X.indrelid JOIN 
-            pg_class I ON I.oid = X.indexrelid 
-            LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) 
-    WHERE C.relkind = 'r';
-
-CREATE VIEW pg_stat_sys_indexes AS 
-    SELECT * FROM pg_stat_all_indexes 
-    WHERE schemaname IN ('pg_catalog', 'pg_toast');
-
-CREATE VIEW pg_stat_user_indexes AS 
-    SELECT * FROM pg_stat_all_indexes 
-    WHERE schemaname NOT IN ('pg_catalog', 'pg_toast');
-
-CREATE VIEW pg_statio_all_indexes AS 
-    SELECT 
-            C.oid AS relid, 
-            I.oid AS indexrelid, 
-            N.nspname AS schemaname, 
-            C.relname AS relname, 
-            I.relname AS indexrelname, 
-            pg_stat_get_blocks_fetched(I.oid) - 
-                    pg_stat_get_blocks_hit(I.oid) AS idx_blks_read, 
-            pg_stat_get_blocks_hit(I.oid) AS idx_blks_hit 
-    FROM pg_class C JOIN 
-            pg_index X ON C.oid = X.indrelid JOIN 
-            pg_class I ON I.oid = X.indexrelid 
-            LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) 
-    WHERE C.relkind = 'r';
-
-CREATE VIEW pg_statio_sys_indexes AS 
-    SELECT * FROM pg_statio_all_indexes 
-    WHERE schemaname IN ('pg_catalog', 'pg_toast');
-
-CREATE VIEW pg_statio_user_indexes AS 
-    SELECT * FROM pg_statio_all_indexes 
-    WHERE schemaname NOT IN ('pg_catalog', 'pg_toast');
-
-CREATE VIEW pg_statio_all_sequences AS 
-    SELECT 
-            C.oid AS relid, 
-            N.nspname AS schemaname, 
-            C.relname AS relname, 
-            pg_stat_get_blocks_fetched(C.oid) - 
-                    pg_stat_get_blocks_hit(C.oid) AS blks_read, 
-            pg_stat_get_blocks_hit(C.oid) AS blks_hit 
-    FROM pg_class C 
-            LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) 
-    WHERE C.relkind = 'S';
-
-CREATE VIEW pg_statio_sys_sequences AS 
-    SELECT * FROM pg_statio_all_sequences 
-    WHERE schemaname IN ('pg_catalog', 'pg_toast');
-
-CREATE VIEW pg_statio_user_sequences AS 
-    SELECT * FROM pg_statio_all_sequences 
-    WHERE schemaname NOT IN ('pg_catalog', 'pg_toast');
-
-CREATE VIEW pg_stat_activity AS 
-    SELECT 
-            D.oid AS datid, 
-            D.datname AS datname, 
-            pg_stat_get_backend_pid(S.backendid) AS procpid, 
-            pg_stat_get_backend_userid(S.backendid) AS usesysid, 
-            U.usename AS usename, 
-            pg_stat_get_backend_activity(S.backendid) AS current_query, 
-            pg_stat_get_backend_activity_start(S.backendid) AS query_start 
-    FROM pg_database D, 
-            (SELECT pg_stat_get_backend_idset() AS backendid) AS S, 
-            pg_shadow U 
-    WHERE pg_stat_get_backend_dbid(S.backendid) = D.oid AND 
-            pg_stat_get_backend_userid(S.backendid) = U.usesysid;
-
-CREATE VIEW pg_stat_database AS 
-    SELECT 
-            D.oid AS datid, 
-            D.datname AS datname, 
-            pg_stat_get_db_numbackends(D.oid) AS numbackends, 
-            pg_stat_get_db_xact_commit(D.oid) AS xact_commit, 
-            pg_stat_get_db_xact_rollback(D.oid) AS xact_rollback, 
-            pg_stat_get_db_blocks_fetched(D.oid) - 
-                    pg_stat_get_db_blocks_hit(D.oid) AS blks_read, 
-            pg_stat_get_db_blocks_hit(D.oid) AS blks_hit 
-    FROM pg_database D;
-
-CREATE VIEW pg_locks AS 
-    SELECT * 
-    FROM pg_lock_status() AS L(relation oid, database oid, 
-	transaction xid, pid int4, mode text, granted boolean);
-
-CREATE VIEW pg_settings AS 
-    SELECT * 
-    FROM pg_show_all_settings() AS A 
-    (name text, setting text, context text, vartype text, 
-     source text, min_val text, max_val text);
-
-CREATE RULE pg_settings_u AS 
-    ON UPDATE TO pg_settings 
-    WHERE new.name = old.name DO 
-    SELECT set_config(old.name, new.setting, 'f');
-
-CREATE RULE pg_settings_n AS 
-    ON UPDATE TO pg_settings 
-    DO INSTEAD NOTHING;
-
-
+/*
+ * PostgreSQL System Views
+ *
+ * Copyright 1996-2003, PostgreSQL Global Development Group
+ *
+ * $Id: system_views.sql,v 1.2 2003/11/13 22:13:39 tgl Exp $
+ */
+
+CREATE VIEW pg_user AS 
+    SELECT 
+        usename, 
+        usesysid, 
+        usecreatedb, 
+        usesuper, 
+        usecatupd, 
+        '********'::text as passwd, 
+        valuntil, 
+        useconfig 
+    FROM pg_shadow;
+
+CREATE VIEW pg_rules AS 
+    SELECT 
+        N.nspname AS schemaname, 
+        C.relname AS tablename, 
+        R.rulename AS rulename, 
+        pg_get_ruledef(R.oid) AS definition 
+    FROM (pg_rewrite R JOIN pg_class C ON (C.oid = R.ev_class)) 
+        LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) 
+    WHERE R.rulename != '_RETURN';
+
+CREATE VIEW pg_views AS 
+    SELECT 
+        N.nspname AS schemaname, 
+        C.relname AS viewname, 
+        pg_get_userbyid(C.relowner) AS viewowner, 
+        pg_get_viewdef(C.oid) AS definition 
+    FROM pg_class C LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) 
+    WHERE C.relkind = 'v';
+
+CREATE VIEW pg_tables AS 
+    SELECT 
+        N.nspname AS schemaname, 
+        C.relname AS tablename, 
+        pg_get_userbyid(C.relowner) AS tableowner, 
+        C.relhasindex AS hasindexes, 
+        C.relhasrules AS hasrules, 
+        (C.reltriggers > 0) AS hastriggers 
+    FROM pg_class C LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) 
+    WHERE C.relkind = 'r';
+
+CREATE VIEW pg_indexes AS 
+    SELECT 
+        N.nspname AS schemaname, 
+        C.relname AS tablename, 
+        I.relname AS indexname, 
+        pg_get_indexdef(I.oid) AS indexdef 
+    FROM pg_index X JOIN pg_class C ON (C.oid = X.indrelid) 
+         JOIN pg_class I ON (I.oid = X.indexrelid) 
+         LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) 
+    WHERE C.relkind = 'r' AND I.relkind = 'i';
+
+CREATE VIEW pg_stats AS 
+    SELECT 
+        nspname AS schemaname, 
+        relname AS tablename, 
+        attname AS attname, 
+        stanullfrac AS null_frac, 
+        stawidth AS avg_width, 
+        stadistinct AS n_distinct, 
+        CASE 1 
+            WHEN stakind1 THEN stavalues1 
+            WHEN stakind2 THEN stavalues2 
+            WHEN stakind3 THEN stavalues3 
+            WHEN stakind4 THEN stavalues4 
+        END AS most_common_vals, 
+        CASE 1 
+            WHEN stakind1 THEN stanumbers1 
+            WHEN stakind2 THEN stanumbers2 
+            WHEN stakind3 THEN stanumbers3 
+            WHEN stakind4 THEN stanumbers4 
+        END AS most_common_freqs, 
+        CASE 2 
+            WHEN stakind1 THEN stavalues1 
+            WHEN stakind2 THEN stavalues2 
+            WHEN stakind3 THEN stavalues3 
+            WHEN stakind4 THEN stavalues4 
+        END AS histogram_bounds, 
+        CASE 3 
+            WHEN stakind1 THEN stanumbers1[1] 
+            WHEN stakind2 THEN stanumbers2[1] 
+            WHEN stakind3 THEN stanumbers3[1] 
+            WHEN stakind4 THEN stanumbers4[1] 
+        END AS correlation 
+    FROM pg_statistic s JOIN pg_class c ON (c.oid = s.starelid) 
+         JOIN pg_attribute a ON (c.oid = attrelid AND attnum = s.staattnum) 
+         LEFT JOIN pg_namespace n ON (n.oid = c.relnamespace) 
+    WHERE has_table_privilege(c.oid, 'select');
+
+REVOKE ALL on pg_statistic FROM public;
+
+CREATE VIEW pg_stat_all_tables AS 
+    SELECT 
+            C.oid AS relid, 
+            N.nspname AS schemaname, 
+            C.relname AS relname, 
+            pg_stat_get_numscans(C.oid) AS seq_scan, 
+            pg_stat_get_tuples_returned(C.oid) AS seq_tup_read, 
+            sum(pg_stat_get_numscans(I.indexrelid)) AS idx_scan, 
+            sum(pg_stat_get_tuples_fetched(I.indexrelid)) AS idx_tup_fetch, 
+            pg_stat_get_tuples_inserted(C.oid) AS n_tup_ins, 
+            pg_stat_get_tuples_updated(C.oid) AS n_tup_upd, 
+            pg_stat_get_tuples_deleted(C.oid) AS n_tup_del 
+    FROM pg_class C LEFT JOIN 
+         pg_index I ON C.oid = I.indrelid 
+         LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) 
+    WHERE C.relkind = 'r' 
+    GROUP BY C.oid, N.nspname, C.relname;
+
+CREATE VIEW pg_stat_sys_tables AS 
+    SELECT * FROM pg_stat_all_tables 
+    WHERE schemaname IN ('pg_catalog', 'pg_toast');
+
+CREATE VIEW pg_stat_user_tables AS 
+    SELECT * FROM pg_stat_all_tables 
+    WHERE schemaname NOT IN ('pg_catalog', 'pg_toast');
+
+CREATE VIEW pg_statio_all_tables AS 
+    SELECT 
+            C.oid AS relid, 
+            N.nspname AS schemaname, 
+            C.relname AS relname, 
+            pg_stat_get_blocks_fetched(C.oid) - 
+                    pg_stat_get_blocks_hit(C.oid) AS heap_blks_read, 
+            pg_stat_get_blocks_hit(C.oid) AS heap_blks_hit, 
+            sum(pg_stat_get_blocks_fetched(I.indexrelid) - 
+                    pg_stat_get_blocks_hit(I.indexrelid)) AS idx_blks_read, 
+            sum(pg_stat_get_blocks_hit(I.indexrelid)) AS idx_blks_hit, 
+            pg_stat_get_blocks_fetched(T.oid) - 
+                    pg_stat_get_blocks_hit(T.oid) AS toast_blks_read, 
+            pg_stat_get_blocks_hit(T.oid) AS toast_blks_hit, 
+            pg_stat_get_blocks_fetched(X.oid) - 
+                    pg_stat_get_blocks_hit(X.oid) AS tidx_blks_read, 
+            pg_stat_get_blocks_hit(X.oid) AS tidx_blks_hit 
+    FROM pg_class C LEFT JOIN 
+            pg_index I ON C.oid = I.indrelid LEFT JOIN 
+            pg_class T ON C.reltoastrelid = T.oid LEFT JOIN 
+            pg_class X ON T.reltoastidxid = X.oid 
+            LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) 
+    WHERE C.relkind = 'r' 
+    GROUP BY C.oid, N.nspname, C.relname, T.oid, X.oid;
+
+CREATE VIEW pg_statio_sys_tables AS 
+    SELECT * FROM pg_statio_all_tables 
+    WHERE schemaname IN ('pg_catalog', 'pg_toast');
+
+CREATE VIEW pg_statio_user_tables AS 
+    SELECT * FROM pg_statio_all_tables 
+    WHERE schemaname NOT IN ('pg_catalog', 'pg_toast');
+
+CREATE VIEW pg_stat_all_indexes AS 
+    SELECT 
+            C.oid AS relid, 
+            I.oid AS indexrelid, 
+            N.nspname AS schemaname, 
+            C.relname AS relname, 
+            I.relname AS indexrelname, 
+            pg_stat_get_numscans(I.oid) AS idx_scan, 
+            pg_stat_get_tuples_returned(I.oid) AS idx_tup_read, 
+            pg_stat_get_tuples_fetched(I.oid) AS idx_tup_fetch 
+    FROM pg_class C JOIN 
+            pg_index X ON C.oid = X.indrelid JOIN 
+            pg_class I ON I.oid = X.indexrelid 
+            LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) 
+    WHERE C.relkind = 'r';
+
+CREATE VIEW pg_stat_sys_indexes AS 
+    SELECT * FROM pg_stat_all_indexes 
+    WHERE schemaname IN ('pg_catalog', 'pg_toast');
+
+CREATE VIEW pg_stat_user_indexes AS 
+    SELECT * FROM pg_stat_all_indexes 
+    WHERE schemaname NOT IN ('pg_catalog', 'pg_toast');
+
+CREATE VIEW pg_statio_all_indexes AS 
+    SELECT 
+            C.oid AS relid, 
+            I.oid AS indexrelid, 
+            N.nspname AS schemaname, 
+            C.relname AS relname, 
+            I.relname AS indexrelname, 
+            pg_stat_get_blocks_fetched(I.oid) - 
+                    pg_stat_get_blocks_hit(I.oid) AS idx_blks_read, 
+            pg_stat_get_blocks_hit(I.oid) AS idx_blks_hit 
+    FROM pg_class C JOIN 
+            pg_index X ON C.oid = X.indrelid JOIN 
+            pg_class I ON I.oid = X.indexrelid 
+            LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) 
+    WHERE C.relkind = 'r';
+
+CREATE VIEW pg_statio_sys_indexes AS 
+    SELECT * FROM pg_statio_all_indexes 
+    WHERE schemaname IN ('pg_catalog', 'pg_toast');
+
+CREATE VIEW pg_statio_user_indexes AS 
+    SELECT * FROM pg_statio_all_indexes 
+    WHERE schemaname NOT IN ('pg_catalog', 'pg_toast');
+
+CREATE VIEW pg_statio_all_sequences AS 
+    SELECT 
+            C.oid AS relid, 
+            N.nspname AS schemaname, 
+            C.relname AS relname, 
+            pg_stat_get_blocks_fetched(C.oid) - 
+                    pg_stat_get_blocks_hit(C.oid) AS blks_read, 
+            pg_stat_get_blocks_hit(C.oid) AS blks_hit 
+    FROM pg_class C 
+            LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) 
+    WHERE C.relkind = 'S';
+
+CREATE VIEW pg_statio_sys_sequences AS 
+    SELECT * FROM pg_statio_all_sequences 
+    WHERE schemaname IN ('pg_catalog', 'pg_toast');
+
+CREATE VIEW pg_statio_user_sequences AS 
+    SELECT * FROM pg_statio_all_sequences 
+    WHERE schemaname NOT IN ('pg_catalog', 'pg_toast');
+
+CREATE VIEW pg_stat_activity AS 
+    SELECT 
+            D.oid AS datid, 
+            D.datname AS datname, 
+            pg_stat_get_backend_pid(S.backendid) AS procpid, 
+            pg_stat_get_backend_userid(S.backendid) AS usesysid, 
+            U.usename AS usename, 
+            pg_stat_get_backend_activity(S.backendid) AS current_query, 
+            pg_stat_get_backend_activity_start(S.backendid) AS query_start 
+    FROM pg_database D, 
+            (SELECT pg_stat_get_backend_idset() AS backendid) AS S, 
+            pg_shadow U 
+    WHERE pg_stat_get_backend_dbid(S.backendid) = D.oid AND 
+            pg_stat_get_backend_userid(S.backendid) = U.usesysid;
+
+CREATE VIEW pg_stat_database AS 
+    SELECT 
+            D.oid AS datid, 
+            D.datname AS datname, 
+            pg_stat_get_db_numbackends(D.oid) AS numbackends, 
+            pg_stat_get_db_xact_commit(D.oid) AS xact_commit, 
+            pg_stat_get_db_xact_rollback(D.oid) AS xact_rollback, 
+            pg_stat_get_db_blocks_fetched(D.oid) - 
+                    pg_stat_get_db_blocks_hit(D.oid) AS blks_read, 
+            pg_stat_get_db_blocks_hit(D.oid) AS blks_hit 
+    FROM pg_database D;
+
+CREATE VIEW pg_locks AS 
+    SELECT * 
+    FROM pg_lock_status() AS L(relation oid, database oid, 
+	transaction xid, pid int4, mode text, granted boolean);
+
+CREATE VIEW pg_settings AS 
+    SELECT * 
+    FROM pg_show_all_settings() AS A 
+    (name text, setting text, context text, vartype text, 
+     source text, min_val text, max_val text);
+
+CREATE RULE pg_settings_u AS 
+    ON UPDATE TO pg_settings 
+    WHERE new.name = old.name DO 
+    SELECT set_config(old.name, new.setting, 'f');
+
+CREATE RULE pg_settings_n AS 
+    ON UPDATE TO pg_settings 
+    DO INSTEAD NOTHING;