Search Postgresql Archives

Re: client encoding that psql command sets

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[CC'ed -hackers]

Tsubasa Sakamoto wrote:
>> Not sure that it makes a difference but the docs say psql looks at
>> LC_CTYPE not LANG for Unix systems. You did not say what OS you are
>> working on though from the examples I am guessing some form of Unix.

> The LC_CTYPE environment variable was set up and re-verified.
> The result of psql command is following.
> 
> [Result]
> % setenv LC_CTYPE ja_JP.eucJP
> 
> % psql postgres -f test.txt -o result.txt EUC_JP
> 
> % psql postgres -f test.txt > result.txt
> UTF8
> 
> % psql postgres -o result.txt < test.txt
> UTF8
> 
> % psql postgres < test.txt > result.txt
> UTF8
> 
> Even when a LC_CTYPE environment variable was set up, the result did not change.
> What do you think?

I think that the documentation contradicts the code.

In bin/psql/settings.h:

typedef struct _psqlSettings
{
[...]
    bool        notty;          /* stdin or stdout is not a tty (as determined
                                 * on startup) */
[...]
} PsqlSettings;

extern PsqlSettings pset;

In bin/psql/command.c and bin/psql/startup.c:

        keywords[6] = "client_encoding";
        values[6] = (pset.notty || getenv("PGCLIENTENCODING")) ? NULL : "auto";

That matches your observations: client_encoding=auto is only
used if both stdin and stdout are attached to a tty.

I suggest the attached documentation fix.

Yours,
Laurenz Albe

Attachment: psql-doc.patch
Description: psql-doc.patch

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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux