From: | Alban Hertroys <dalroi(at)solfertje(dot)student(dot)utwente(dot)nl> |
---|---|
To: | "Jamie Lawrence-Jenner" <jamie(dot)jenner(at)autovhc(dot)co(dot)uk> |
Cc: | <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: How to debug efficiently |
Date: | 2010-06-03 11:18:27 |
Message-ID: | D09DC6AB-2BC6-4D9F-9122-A32CC9F12E0F@solfertje.student.utwente.nl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 3 Jun 2010, at 12:43, Jamie Lawrence-Jenner wrote:
> Hi All
>
> In SQL Server I could copy sql code out of an application and paste it into SSMS, declare & assign vars that exist in the sql and run.. yay great debugging scenario.
>
> e.g. (please note I am rusty and syntax may be incorrect)
>
> declare @x as varchar(10)
> set @x = 'abc'
> select * from sometable where somefield = @x
>
> I want to do something simular with postgres in pgadmin3 (or another postgres tool, anyy reccomendations?)
I don't use pgadmin, I usually use psql.
If it gets complicated enough that it's inconvenient to use from the psql prompt, I usually just whip up a quick script to test stuff like this in.
I often keep those in a tests directory using a descriptive name for what the script tests, so that co-workers can easily see what they are.
So far that's usually been PHP (for work), but I have the feeling that I could create something that'd be usable from within the Python interpreter prompt, allowing to adjust definitions while you get further in your debugging session.
> I realise you can create pgscript, but it doesn't appear to be very good, for example, if I do the equlivent of above, it doesn't put the single quotes around the value in @x, nor does it let me by doubling them up and you don't get a table out after - only text...
Never heard of pgscript, is that something that pgadmin provides? I have no idea how it interprets parameter values or how it outputs query results, so I don't understand what problems you're seeing.
> Currently I have a peice of sql someone has written that has 3 unique varibles in it which are used around 6 times each...
It's probably easiest to create a prepared statement from that query and execute it with different parameter values.
It depends on what you're debugging though; if that's a performance problem, then turning the query into a prepared statement could (probably would) change the behaviour.
> So the question is how do other people debug sql this sql EFFICIENTLY, preferably in a simular fashion to my sql server days.
I usually find the psql prompt more efficient to work with than, for example, pgadmin. But I'm a typical command line user; What's efficient for one may not be for someone else.
Alban Hertroys
--
Screwing up is an excellent way to attach something to the ceiling.
!DSPAM:737,4c078fa710151658735671!
From | Date | Subject | |
---|---|---|---|
Next Message | Frank van Vugt | 2010-06-03 12:00:40 | so, does this overlap or not...? - fencepost question on overlaps() |
Previous Message | Jamie Lawrence-Jenner | 2010-06-03 10:43:04 | How to debug efficiently |