Re: Adding column in a recursive query

Ibrahim Shaame <ishaame@gmail.com>

From: Ibrahim Shaame <ishaame@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: depesz@depesz.com, "pgsql-novice@lists.postgresql.org" <pgsql-novice@lists.postgresql.org>
Date: 2026-03-30T15:11:08Z
Lists: pgsql-novice
Effectively, after removing the column names from x(jina, namba, nasaba_1)
it works now. Thank you very much. But then I don't understand the
advantage or inconvenience of naming or not naming the columns there. Is
there any explanation somewhere?

Thanks again
Ibrahim

On Mon, Mar 30, 2026 at 5:31 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:

> Ibrahim Shaame <ishaame@gmail.com> writes:
> > Thanks for the reply. Both are integers and they work well without the
> two
> > lines. So what changed one of them to text. Can you see where? I have not
> > been able to identify.
>
> This bit is forcing the column names for just the first three
> output columns, leaving the rest to default from the SELECT
> targetlist:
>
>         WITH RECURSIVE x(jina, namba, nasaba_1) AS (
>
> That's a hazardous practice: usually I'd force all or none of
> the column names that way.  In this case, I speculate that you
> carelessly added the new column as one of the physically first
> three SELECT outputs, and didn't adjust this list to match,
> leading to confusion about which column is "x.namba".
>
> If that's not it, you need to be a great deal more specific
> about exactly how you changed the query.
>
>                         regards, tom lane
>