Nico Williams wrote: > As an aside, I'd like to be able to control which CTEs are view-like and > which are table-like. In SQLite3, for example, they are all view-like, > and the optimizer will act accordingly, whereas in PG they are all > table-like, and thus optimizer barriers.
There was a short and easy to grasp (OK, maybe not) discussion on the topic of CTEs acting differently. I think the consensus is that for CTEs that are read-only and do not use functions that aren't immutable, they may be considered for inlining. https://www.postgresql.org/message-id/5351711493487...@web53g.yandex.ru -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers