Subject: Re: Restore Windows dump to Linux (locale issue)

From: Tom Lane <[email-masked]>
Date: Sun, 23 Nov 2025 17:02:04 -0500

=?UTF-8?B?RXJ0YW4gS8O8w6fDvGtvZ2x1?= <[email-masked]> writes:
> I am using PostgreSQL 18.1 on a Windows system.
> I need to move that database to a Linux system of the same version number.
> Windows system use locales name as tr-TR (this is UTF-8 locale)
> Linux system use locale name as tr_TR.UTF-8
> My cluster backup gives error at restore (I think because of that locale
> naming difference) as below
> psql:/db.dump:133: ERROR:  invalid LC_COLLATE locale name: "tr-TR"

Edit the dump so that the databases are created with Linux-compatible
locale names.  You should find lines like

CREATE DATABASE foo WITH TEMPLATE = template0 ENCODING = 'UTF-8' LOCALE_PROVIDER = libc LOCALE = 'tr-TR';

(details will vary depending on PG version) and changing the locale
strings ought to do the trick.

If the dump file is too big for your editor, consider splitting it
into schema-only and data-only dumps.

			regards, tom lane

---

From: Brent Wood <[email-masked]>
Date: Sun, 23 Nov 2025 22:42:11 +0000

If the dump file is too big to edit conventionally, piping it through a stream editor like sed to make the required changes works nicely.
It can be done on the fly in the restore process if required.

Brent Wood

Principal Technician, Fisheries
NIWA
DDI:  +64 (4) 3860529
________________________________
From: Tom Lane <[email-masked]>
Sent: Monday, 24 November 2025 11:02
To: Ertan Küçükoglu <[email-masked]>
Cc: [email-masked] <[email-masked]>
Subject: Re: Restore Windows dump to Linux (locale issue)

                        regards, tom lane

Brent Wood
Principal Technician - GIS and Spatial Data Management
+64-4-386-0529
301 Evans Bay Parade, Greta Point, Hataitai, Wellington, New Zealand
Earth Sciences New Zealand
[Earth Sciences New Zealand]<https://earthsciences.nz>
The Institute of Geological and Nuclear Sciences Limited and the National Institute of Water and Atmospheric Research Limited joined to become the New Zealand Institute for Earth Science Limited. We are known as Earth Sciences New Zealand. For more information on the Earth Sciences transition click here<https://niwa.co.nz/about-niwa/science-sector-reforms>.

Notice: This email may contain information which is confidential and/or subject to copyright, and may not be used, published or redistributed without the prior written consent of Earth Sciences New Zealand. If you are not the intended recipient, please immediately notify the sender and delete the email and any attachments. Any opinion or views expressed in this email are those of the individual sender and may not represent those of Earth Sciences New Zealand.

For information about how we process data and monitor communications please see our privacy policy<https://niwa.co.nz/about-niwa/privacy-policy>.

---

From: Ertan Küçükoglu <[email-masked]>
Date: Wed, 26 Nov 2025 00:06:39 +0300

Brent Wood <[email-masked]>, 24 Kas 2025 Pzt, 01:42 tarihinde şunu
yazdı:

> If the dump file is too big to edit conventionally, piping it through a
> stream editor like sed to make the required changes works nicely.
> ------------------------------
> *From:* Tom Lane <[email-masked]>
> *Sent:* Monday, 24 November 2025 11:02
> *To:* Ertan Küçükoglu <[email-masked]>
> *Cc:* [email-masked] <
> [email-masked]>
> *Subject:* Re: Restore Windows dump to Linux (locale issue)
>

Hello,

I manually created a database on the Linux system.
Took a database backup and restored it on the Linux system.
This way dump does not include any charset.

Thanks & Regards,
Ertan

---

From: Adrian Klaver <[email-masked]>
Date: Tue, 25 Nov 2025 13:20:04 -0800

> Hello,

I am not understanding the below.

> Took a database backup and restored it on the Linux system.

That is what started this thread, an issue with a backup from a Windows 
machine.

So where did you get a backup that you could restore?

> This way dump does not include any charset.

Pretty sure it does, it just one that your Linux machine understands.

-- 
Adrian Klaver
[email-masked]

---

From: Ertan Küçükoglu <[email-masked]>
Date: Wed, 26 Nov 2025 01:03:15 +0300

Adrian Klaver <[email-masked]>, 26 Kas 2025 Çar, 00:20 tarihinde

> So where did you get a backup that you could restore?
Initially it was a pgdump_all backup. Which includes database creation
scripts.
I used only pg_dump backup. Where I restore in an already created database.

I called pg_dumpall backup as "cluster backup" . It may be my wrong choice
of naming.

---

From: Adrian Klaver <[email-masked]>
Date: Tue, 25 Nov 2025 14:13:46 -0800

On 11/25/25 14:03, Ertan Küçükoglu wrote:
> Adrian Klaver <[email-masked] 
> <mailto:[email-masked]>>, 26 Kas 2025 Çar, 00:20 tarihinde 
> şunu yazdı:
> 

Alright I understand now.

> 
> I called pg_dumpall backup as "cluster backup" . It may be my wrong 
> choice of naming.

It is a dump of the all the databases in the cluster as well as the 
cluster global objects, so the naming is correct. I just did not make 
the connection.