Simplified test case: > ~~~ CREATE TABLE t2(b,c); INSERT INTO t2 VALUES(1,2),(1,3),(2,5); CREATE VIEW v3 AS WITH RECURSIVE t3(x,y,z) AS ( SELECT b,c,NULL FROM t2 UNION SELECT x,y,c FROM t3, t2 WHERE b=x ORDER BY y ) SELECT * FROM t3; SELECT * FROM v3; -- This works > CREATE TABLE t1(a); ALTER TABLE t1 RENAME a TO a2; -- fails in v3 ~~~