Fórum Root.cz

Hlavní témata => Server => Téma založeno: jhonzatko 11. 04. 2022, 09:51:34

Název: Lze vynutit starší verzi syntaxe pg_dump?
Přispěvatel: jhonzatko 11. 04. 2022, 09:51:34
Ahoj,
nepovedlo se mi zatim dohledat v dokumentaci ani jinde, tak se zkusim zeptat zkusenejsich.

Na serveru mam klienta verze 14 a pri exportu a naslednem importu clusteru ci db narazim na to, ze novy klient pouziva novejsi syntaxi v prikazu CREATE DATABASE (parametr LOCALE), ktera ale pri importu do starsi verze (konkretne verze 12) nefunguje a import na tom pada ... Databaze musim napred vytvorit rucne s pouzitim stare syntaxe (LC_COLLATE + LC_CTYPE) a import spustit znovu.

Lze nejak v klientovi vynutit pouzivani syntaxe podle verze db, kterou exportuji?
Diky za pripadne rady!
Název: Re:Lze vynutit starší verzi syntaxe pg_dump?
Přispěvatel: czechsys 11. 04. 2022, 10:52:37
Nainstalovat soubezne starsiho klienta a odkazovat se primym nastavenim cesty na konkretni pg_dump.
Název: Re:Lze vynutit starší verzi syntaxe pg_dump?
Přispěvatel: jhonzatko 11. 04. 2022, 14:51:17
Diky, takhle to mam vyresene ted, ale doufal jsem, zda neexistuje nejake elegantnejsi reseni :)
Název: Re:Lze vynutit starší verzi syntaxe pg_dump?
Přispěvatel: Death Walker 11. 04. 2022, 17:42:22
Kód: [Vybrat]
sed 's/LOCALE/LC_LOCALE/' dump.sql | psql <connnection options>

S tym vyrazom pre nahradenie sa bude asi treba trocha pohrat...
Název: Re:Lze vynutit starší verzi syntaxe pg_dump?
Přispěvatel: Pavel Stěhule 11. 04. 2022, 19:16:21
Diky, takhle to mam vyresene ted, ale doufal jsem, zda neexistuje nejake elegantnejsi reseni :)

V Postgresu nikde nejsou version flagy, včetně pg_dumpu.

Nicméně kód pg_dumpu je dost primitivní, a export jde jednoduše přiohnout.