The following documentation comment has been logged on the website:
Page: https://www.postgresql.org/docs/9.5/rules-views.html
Description:
I am looking a way to get exact view definition, for ex :
CREATE TABLE t1(id int,name varchar);
INSERT INTO t1 values(1,'n1'),(2,'n2');
CREATE VIEW v2 AS SELECT * FROM t1 WHERE name = 'n1';
But when i checked the definition in postgresql DB(9.5) in pg_views
table, it is getting modified in the below way :
postgres=# select * from pg_views where schemaname = 'sc1' and viewname
= 'v2';
schemaname | viewname | viewowner | definition
------------+----------+-----------+-----------------------------------------
sc1 | v2 | postgres | SELECT t1.id,
+
| | | t1.name
+
| | | FROM sc1.t1
+
| | | WHERE ((t1.name)::text =
'n1'::text);
I am fine with adding tablename before columnname but i don't want the extra
'::text' part. Is there anyway to achieve this(like any other system table i
can query from to get original definition)