Thread: question on plain pg_dump file usage
I have to do an out-of-place Postgres migration from PG12 to PG16 using:
pg_dump -F p -f dump.sql …
sed -i "s/old_name/new_name/g"
psql -f dump.sql …
Both databases are on UTF-8.
I wonder if there could be character set conversion errors here, as the data is temporarily written to a plain text file.
Thanks, Markus
I have to do an out-of-place Postgres migration from PG12 to PG16 using:
pg_dump -F p -f dump.sql …
sed -i "s/old_name/new_name/g"
psql -f dump.sql …
Both databases are on UTF-8.
I wonder if there could be character set conversion errors here, as the data is temporarily written to a plain text file.
Von: Ron Johnson <ronljohnsonjr@gmail.com>
Gesendet: Dienstag, 17. September 2024 14:44
An: PG-General Mailing List <pgsql-general@postgresql.org>
Betreff: [Extern] Re: question on plain pg_dump file usage
On Tue, Sep 17, 2024 at 8:22 AM Zwettler Markus (OIZ) <Markus.Zwettler@zuerich.ch> wrote:
I have to do an out-of-place Postgres migration from PG12 to PG16 using:
pg_dump -F p -f dump.sql …
sed -i "s/old_name/new_name/g"
psql -f dump.sql …
Both databases are on UTF-8.
I wonder if there could be character set conversion errors here, as the data is temporarily written to a plain text file.
Why must it be a plain text dump instead of a custom or directory dump? Restoring to a new (and differently-named( database is perfectly doable.
--
Death to <Redacted>, and butter sauce.
Don't boil me, I'm still alive.
<Redacted> crustacean!
--- Externe Email: Vorsicht mit Anhängen, Links oder dem Preisgeben von Informationen ---
Because I can simply change the application from the old to the new structure then.
-Regards, Markus
pg_dump -F p -f dump.sql …
sed -i "s/old_name/new_name/g"
psql -f dump.sql …
Von: Zwettler Markus (OIZ) <Markus.Zwettler@zuerich.ch>
Gesendet: Dienstag, 17. September 2024 14:22
An: PG-General Mailing List <pgsql-general@postgresql.org>
Betreff: question on plain pg_dump file usage
I have to do an out-of-place Postgres migration from PG12 to PG16 using:
pg_dump -F p -f dump.sql …
sed -i "s/old_name/new_name/g"
psql -f dump.sql …
Both databases are on UTF-8.
I wonder if there could be character set conversion errors here, as the data is temporarily written to a plain text file.
Thanks, Markus
I found that the tempory plain text file is also encoded in UTF-8.
There should not be any problem so. Agreed?
$ file -bi dump.sql
text/plain; charset=utf-8
"Zwettler Markus (OIZ)" <Markus.Zwettler@zuerich.ch> writes: > I have to do an out-of-place Postgres migration from PG12 to PG16 using: > pg_dump -F p -f dump.sql ... > sed -i "s/old_name/new_name/g" > psql -f dump.sql ... > Both databases are on UTF-8. > I wonder if there could be character set conversion errors here, as the data is temporarily written to a plain text file. The dump script will include a "SET client_encoding" command to prevent that. regards, tom lane
On 9/17/24 05:43, Ron Johnson wrote: > On Tue, Sep 17, 2024 at 8:22 AM Zwettler Markus (OIZ) > <Markus.Zwettler@zuerich.ch <mailto:Markus.Zwettler@zuerich.ch>> wrote: > > > Why must it be a plain text dump instead of a custom or directory dump? > Restoring to a new (and differently-named( database is perfectly doable. Because of this: sed -i "s/old_name/new_name/g" > > -- > Death to <Redacted>, and butter sauce. > Don't boil me, I'm still alive. > <Redacted> crustacean! -- Adrian Klaver adrian.klaver@aklaver.com