Re: Error when pasting function blocks into psql

From: Ludwig Isaac Lim <ludz_lim(at)yahoo(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Error when pasting function blocks into psql
Date: 2022-07-16 04:00:20
Message-ID: 1425387335.1539625.1657944020190@mail.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Friday, July 8, 2022 at 10:20:52 PM GMT+8, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

Ludwig Isaac Lim <ludz_lim(at)yahoo(dot)com> writes:

>> Hello:
>> I noticed that I'm getting errors when copy and pasting code for stored procedure from Windows directly into psql running in putty.
>> To reproduce create a procedure that has multiple statements with each statements having multiple lines, similar to the ones below:
>> CREATE OR REPLACE PROCEDURE test()AS$$     UPDATE                     table1      SET                   field1 = ?;

>>        -- more SQL statements$$LANGUAGE SQL;
>> Copy and paste from Windows editor (or IDE) to a psql running in a Putty. Chances are it will complain of syntax error. The error doesn't appear when I copy and paste it to an empty file in vim, and the run:
>> psql -f <file name>
>> Is there a way of prevent this kind of error when pasting directly into psql?

>A gotcha I frequently run into is that if there are any literal tab
> characters in the text, pasting it into psql fails because the tabs
>invoke tab-completion, producing either no text or unwanted text.
>I don't know if that's an issue on Windows (does your psql build
>do tab completion?), but if so, the workaround is to disable tab
>completion by starting psql with the '-n' switch.

>Another fairly likely possibility is that your paste contains
>invisible characters that psql does not think are whitespace,
>like non-break space (&nbsp;).  However, pasting into a file
>wouldn't make that problem go away, so the tab idea seems
>a shade more likely.

>            regards, tom lane

I indent using tabs, so I believe this is a more likely explanation. I'll try to use the -n switch and see if the error still occurs.

Thank you,

Ludwig Lim

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2022-07-16 15:30:29 Re: equivalent thing of mtr in mysql
Previous Message merryok 2022-07-16 01:31:19 Re:Re: equivalent thing of mtr in mysql