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)