Re: Create recursive view schema.name

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Lele Gaifax <lele@metapensiero.it>
Cc: pgsql-general@postgresql.org
Date: 2016-10-11T13:46:13Z
Lists: pgsql-general
Lele Gaifax <lele@metapensiero.it> writes:
> I have a working recursive-CTE query, and I tried wrapping it in a view:
> reading the documentation I found the "CREATE RECURSIVE VIEW" form, so I tried
> it.

> It works as far as I use a "simple" name for the view:
> but I get an error when I create it in a specific schema:

The manual says
	CREATE RECURSIVE VIEW name (columns) AS SELECT ...;
	is equivalent to
	CREATE VIEW name AS WITH RECURSIVE name (columns) AS (SELECT ...) SELECT columns FROM name;

I guess it could be more explicit about the fact that the implied CTE just
has the base name of the view; but since CTE names can't be qualified,
that's not that hard to guess.  Short answer is that you don't qualify the
view's internal self-reference, even if you are using a schema name in the
CREATE.

			regards, tom lane