Re: BUG #5867: wish: plpgsql print table for debug

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Richard Neill <postgresql(at)richardneill(dot)org>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #5867: wish: plpgsql print table for debug
Date: 2011-03-03 15:03:41
Message-ID: AANLkTimrzAYxjqFaKRjmVvXiVt_YuAVG54C9EcNW95db@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Mon, Feb 7, 2011 at 1:01 AM, Richard Neill
<postgresql(at)richardneill(dot)org> wrote:
>
> The following bug has been logged online:
>
> Bug reference:      5867
> Logged by:          Richard Neill
> Email address:      postgresql(at)richardneill(dot)org
> PostgreSQL version: 9.03
> Operating system:   Linux
> Description:        wish: plpgsql print table for debug
> Details:
>
> When debugging a plpgsql function, it would be really amazingly useful to be
> able to do a regular psql-style SELECT, and have the result printed to
> screen.
>
> Something like:
>
>   Raise Notice table 'SELECT .... '
>
> and then plpgsql would run the query and dump the result to screen, using
> its helpful formatting.
>
> As far as I can see, this isn't possible (though there are a lot of people
> searching for how to do it), and the only workaround is to manually handle
> the looping and formatting, raising lots of individual notices. This makes
> debugging much harder than it should be.

It wouldn't be too hard to write a loop that runs the select statement
and does RAISE NOTICE on each row. Getting that into the psql
formatting would be a little trickier, but I don't see why you
couldn't write a PL/pgsql function to do it. Then you could just call
that function and pass it an SQL query every time you want to do this.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Robert Haas 2011-03-03 15:04:52 Re: BUG #5871: database connecting failed
Previous Message Robert Haas 2011-03-03 15:00:38 Re: BUG #5863: help message report 5433 as default port