Thread: psql shows line number

psql shows line number

From
Sawada Masahiko
Date:
Hi all,

When I execute query which contains error, the server returns error
with line number.

ERROR:  relation "hoge" does not exist
LINE 35: hoge;

But when query is long, I was not sure the location where I wrote wrong SQL.
Does the psql have option which shows line number?
If no, I'm thinking to implement this feature. Thought?
I think it is useful if the psql shows line number like follows

[1]postgres=# SELECT
[2]postgres=# hoge.col1
[3]postgres=# FROM
[4]postgres=# hoge;

ERROR:  column "col1" does not exist
LINE 2: col1

And If there is discussion at past about this, please let me know.

Regards,

-------
Sawada Masahiko



Re: psql shows line number

From
Pavel Stehule
Date:



2013/11/26 Sawada Masahiko <sawada.mshk@gmail.com>
Hi all,

When I execute query which contains error, the server returns error
with line number.

ERROR:  relation "hoge" does not exist
LINE 35: hoge;

But when query is long, I was not sure the location where I wrote wrong SQL.
Does the psql have option which shows line number?
If no, I'm thinking to implement this feature. Thought?
I think it is useful if the psql shows line number like follows

[1]postgres=# SELECT
[2]postgres=# hoge.col1
[3]postgres=# FROM
[4]postgres=# hoge;

ERROR:  column "col1" does not exist
LINE 2: col1

And If there is discussion at past about this, please let me know.

idea is interesting, but a proposed format is not clean (and little bit ugly, and can be barrier for copy from terminal to editor. Now, simple replace can be used for cleaning.

maybe we can introduce a command, that will print SQL from history with line numbers - like \sf+

regards

Pavel
 

Regards,

-------
Sawada Masahiko


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Re: psql shows line number

From
Marko Tiikkaja
Date:
On 11/26/13 1:05 PM, Sawada Masahiko wrote:
> When I execute query which contains error, the server returns error
> with line number.
>
> ERROR:  relation "hoge" does not exist
> LINE 35: hoge;
>
> But when query is long, I was not sure the location where I wrote wrong SQL.
> Does the psql have option which shows line number?
> If no, I'm thinking to implement this feature. Thought?
> I think it is useful if the psql shows line number like follows

If the query is long, you'll likely want to  \e  to edit it anyway, no?  I'm sure any text editor worth $EDITOR will
knowhow to jump to a 
 
specific line.



Regards,
Marko Tiikkaja



Re: psql shows line number

From
Sawada Masahiko
Date:
On Tue, Nov 26, 2013 at 9:23 PM, Marko Tiikkaja <marko@joh.to> wrote:
> On 11/26/13 1:05 PM, Sawada Masahiko wrote:
>>
>> When I execute query which contains error, the server returns error
>> with line number.
>>
>> ERROR:  relation "hoge" does not exist
>> LINE 35: hoge;
>>
>> But when query is long, I was not sure the location where I wrote wrong
>> SQL.
>> Does the psql have option which shows line number?
>> If no, I'm thinking to implement this feature. Thought?
>> I think it is useful if the psql shows line number like follows
>
>
> If the query is long, you'll likely want to  \e  to edit it anyway, no?  I'm
> sure any text editor worth $EDITOR will know how to jump to a specific line.
Thanks!
¥e is also good. I didn't know this.
I thought that showing line number on psql is light and simple.
So I thought that psql can also have such feature as standard function.


> idea is interesting, but a proposed format is not clean (and little bit ugly, and
> can be barrier for copy from terminal to editor. Now,  simple replace can be used for cleaning.
Thanks!
Yes, it is little ugly.
I was also thinking to fill space of line number with whitespace. likes:

[  1]postgres=# SELECT
[  2]postgres=# hoge.col1
:
[  9]postgres=# FROM
[ 10]postgres=# hoge;

But I think that it is also something just isn't right.

> maybe we can introduce a command, that will print SQL from history with line numbers - like \sf+
I think that ¥sf+ shows definition of function. How should I use this?

Regards,

-------
Sawada Masahiko



Re: psql shows line number

From
Pavel Stehule
Date:



2013/11/26 Sawada Masahiko <sawada.mshk@gmail.com>
On Tue, Nov 26, 2013 at 9:23 PM, Marko Tiikkaja <marko@joh.to> wrote:
> On 11/26/13 1:05 PM, Sawada Masahiko wrote:
>>
>> When I execute query which contains error, the server returns error
>> with line number.
>>
>> ERROR:  relation "hoge" does not exist
>> LINE 35: hoge;
>>
>> But when query is long, I was not sure the location where I wrote wrong
>> SQL.
>> Does the psql have option which shows line number?
>> If no, I'm thinking to implement this feature. Thought?
>> I think it is useful if the psql shows line number like follows
>
>
> If the query is long, you'll likely want to  \e  to edit it anyway, no?  I'm
> sure any text editor worth $EDITOR will know how to jump to a specific line.
Thanks!
¥e is also good. I didn't know this.
I thought that showing line number on psql is light and simple.
So I thought that psql can also have such feature as standard function.


> idea is interesting, but a proposed format is not clean (and little bit ugly, and
> can be barrier for copy from terminal to editor. Now,  simple replace can be used for cleaning.
Thanks!
Yes, it is little ugly.
I was also thinking to fill space of line number with whitespace. likes:

[  1]postgres=# SELECT
[  2]postgres=# hoge.col1
:
[  9]postgres=# FROM
[ 10]postgres=# hoge;

But I think that it is also something just isn't right.

> maybe we can introduce a command, that will print SQL from history with line numbers - like \sf+
I think that ¥sf+ shows definition of function. How should I use this?

yes, but we can define new statement like \sq+ (Show Query)

Pavel
 

Regards,

-------
Sawada Masahiko


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Re: psql shows line number

From
Sawada Masahiko
Date:
<p dir="ltr"><br /> 2013/11/26 22:24 "Pavel Stehule" <<a
href="mailto:pavel.stehule@gmail.com">pavel.stehule@gmail.com</a>>:<br/> ><br /> ><br /> ><br /> ><br />
>2013/11/26 Sawada Masahiko <<a href="mailto:sawada.mshk@gmail.com">sawada.mshk@gmail.com</a>><br />
>><br/> >> On Tue, Nov 26, 2013 at 9:23 PM, Marko Tiikkaja <<a
href="mailto:marko@joh.to">marko@joh.to</a>>wrote:<br /> >> > On 11/26/13 1:05 PM, Sawada Masahiko
wrote:<br/> >> >><br /> >> >> When I execute query which contains error, the server returns
error<br/> >> >> with line number.<br /> >> >><br /> >> >> ERROR:  relation "hoge"
doesnot exist<br /> >> >> LINE 35: hoge;<br /> >> >><br /> >> >> But when query is
long,I was not sure the location where I wrote wrong<br /> >> >> SQL.<br /> >> >> Does the psql
haveoption which shows line number?<br /> >> >> If no, I'm thinking to implement this feature. Thought?<br
/>>> >> I think it is useful if the psql shows line number like follows<br /> >> ><br /> >>
><br/> >> > If the query is long, you'll likely want to  \e  to edit it anyway, no?  I'm<br /> >>
>sure any text editor worth $EDITOR will know how to jump to a specific line.<br /> >> Thanks!<br /> >>
¥eis also good. I didn't know this.<br /> >> I thought that showing line number on psql is light and simple.<br
/>>> So I thought that psql can also have such feature as standard function.<br /> >><br /> >><br />
>>> idea is interesting, but a proposed format is not clean (and little bit ugly, and<br /> >> > can
bebarrier for copy from terminal to editor. Now,  simple replace can be used for cleaning.<br /> >> Thanks!<br />
>>Yes, it is little ugly.<br /> >> I was also thinking to fill space of line number with whitespace.
likes:<br/> >><br /> >> [  1]postgres=# SELECT<br /> >> [  2]postgres=# hoge.col1<br /> >> :<br
/>>> [  9]postgres=# FROM<br /> >> [ 10]postgres=# hoge;<br /> >><br /> >> But I think that it
isalso something just isn't right.<br /> >><br /> >> > maybe we can introduce a command, that will print
SQLfrom history with line numbers - like \sf+<br /> >> I think that ¥sf+ shows definition of function. How should
Iuse this?<br /> ><br /> ><br /> > yes, but we can define new statement like \sq+ (Show Query)<br /> ><br
/>I understood.<br /> it looks good to me.<p dir="ltr">it is similer to searching history(i.g., just push
up-arrow-key)?<pdir="ltr">Regards,<p dir="ltr">Masahiko Sawada 

Re: psql shows line number

From
Marko Tiikkaja
Date:
On 11/26/13 2:24 PM, Pavel Stehule wrote:
> yes, but we can define new statement like \sq+ (Show Query)

There's already \p; might not be too difficult to add a \p+ which would 
also show the line numbers.



Regards,
Marko Tiikkaja



Re: psql shows line number

From
Tom Lane
Date:
Marko Tiikkaja <marko@joh.to> writes:
> On 11/26/13 2:24 PM, Pavel Stehule wrote:
>> yes, but we can define new statement like \sq+ (Show Query)

> There's already \p; might not be too difficult to add a \p+ which would 
> also show the line numbers.

I don't actually see the point of this.  If you're working with queries
that are long enough that counting lines is even slightly difficult,
surely you're going to use \e to correct the problem?  So it seems to
me that the existing "\e nnn" facility pretty much does what's needed,
and there's no great need to clutter your regular display with line
numbers.
        regards, tom lane



Re: psql shows line number

From
Merlin Moncure
Date:
On Tue, Nov 26, 2013 at 9:22 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Marko Tiikkaja <marko@joh.to> writes:
>> On 11/26/13 2:24 PM, Pavel Stehule wrote:
>>> yes, but we can define new statement like \sq+ (Show Query)
>
>> There's already \p; might not be too difficult to add a \p+ which would
>> also show the line numbers.
>
> I don't actually see the point of this.  If you're working with queries
> that are long enough that counting lines is even slightly difficult,
> surely you're going to use \e to correct the problem?  So it seems to
> me that the existing "\e nnn" facility pretty much does what's needed,
> and there's no great need to clutter your regular display with line
> numbers.

I agree in the sense line numbers don't help.  But \e is not really a
solution to the problem.  A pretty common thing for me to see (as an
artifact of my styling) in the log:

ERROR:  syntax error at or near "from"
LINE 223: from         ^

Not very helpful.  Also good luck if your SQL is dynamically
generated.  What I think would help *would* be able to optionally add
a some lines of context: then you'd at least have a shot at eyeballing
the error etc.

merlin