From: | Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com> |
---|---|
To: | Andrus <kobruleht2(at)hot(dot)ee>, pgsql-general <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: could not determine encoding for locale "et_EE.UTF-8": codeset is "CPUTF-8" in pg_restore |
Date: | 2020-03-29 21:31:16 |
Message-ID: | 98f225f7-7647-b15f-a03c-0f19437c5b92@aklaver.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 3/29/20 11:12 AM, Andrus wrote:
> Hi!
>
>> There seems to a difference of opinion of what Baltic Code Page to use:
>> https://en.wikipedia.org/wiki/Code_page_775
>> https://en.wikipedia.org/wiki/Windows-1257
>> The post below shows a users method of dealing with this for another CP:
>> https://www.postgresql.org/message-id/549275CC.4010607%40gmail.com
>
> Console code page 775 message appears since psql is console application
> running from command line.
>
> It does not have any relation to pg_dump/pg_restore issue since console
> code page is not used in this case.
>
> There is Estonian locale everywhere.
> Maybe this warning is harmless since Linux code page is ignored and
> default collation is used.
> All table definitions in restored database contain references to default
> collation:
>
> CREATE TABLE firma1.acquirpo
> (
> kassanr numeric(3,0) NOT NULL,
> policyid character(2) COLLATE pg_catalog."default" NOT NULL,
> trantype character(6) COLLATE pg_catalog."default",
> tacdefault character(10) COLLATE pg_catalog."default",
> tacdenial character(10) COLLATE pg_catalog."default",
> taconline character(10) COLLATE pg_catalog."default",
> floorlimit numeric(12,0),
> randselthr numeric(12,0),
> minrandper numeric(2,0),
> maxrandper numeric(2,0),
> CONSTRAINT acquirpo_pkey PRIMARY KEY (kassanr, policyid)
> )
>
> TABLESPACE pg_default;
>
> Same warning appears two times. This command execute by pg_restore
> probably causes this (harmless?) warning:
What warning?
I cranked up a Windows 7 instance and tried to migrate a Postgres 11
database from Ubuntu and it failed on the CREATE DATABASE step because
of this line in the dump file:
CREATE DATABASE redmine WITH TEMPLATE = template0 ENCODING = 'UTF8'
LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8';
When I manually changed it in the plain text version of the dump file to:
CREATE DATABASE redmine WITH TEMPLATE = template0 ENCODING = 'UTF8'
LC_COLLATE = 'English_United States.1252' LC_CTYPE = 'English_United
States.1252';
borrowing from Tom's suggestion here:
https://www.postgresql.org/message-id/22672.1585442578%40sss.pgh.pa.us
it worked.
So basically what you see below.
If you followed Tom's suggestion fully you could restore into a manually
created database on the Windows side by dropping the --create and
pointing -d at the previously created database.
>
> CREATE DATABASE mydb
> WITH
> OWNER = mydb_owner
> ENCODING = 'UTF8'
> LC_COLLATE = 'et_EE.UTF-8'
> LC_CTYPE = 'et_EE.UTF-8'
> TABLESPACE = pg_default
> CONNECTION LIMIT = -1;
>
> If new database is created manually in windows cluster the following
> command is generated:
>
>
> CREATE DATABASE mydbmanually
> WITH
> OWNER = mydbmanually_owner
> ENCODING = 'UTF8'
> LC_COLLATE = 'Estonian_Estonia.1257'
> LC_CTYPE = 'Estonian_Estonia.1257'
> TABLESPACE = pg_default
> CONNECTION LIMIT = -1;
>
> Andrus.
>
--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com
From | Date | Subject | |
---|---|---|---|
Next Message | Andrus | 2020-03-29 21:47:22 | Re: could not determine encoding for locale "et_EE.UTF-8": codeset is "CPUTF-8" in pg_restore |
Previous Message | Adrian Klaver | 2020-03-29 20:23:32 | Re: Hot standby from Debian to Windows |