Re: [NOVICE] LATIN2->UTF8 conversation with dblink
От | ries van Twisk |
---|---|
Тема | Re: [NOVICE] LATIN2->UTF8 conversation with dblink |
Дата | |
Msg-id | 8F5CC210-3E84-4557-AC93-5609FEB3B804@rvt.dds.nl обсуждение исходный текст |
Ответ на | Re: [NOVICE] LATIN2->UTF8 conversation with dblink (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-hackers |
On Feb 2, 2009, at 1:31 PM, Tom Lane wrote: > Ruzsinszky Attila <ruzsinszky.attila@gmail.com> writes: >> The situation: >> We've got two machines. The source database (DB) is running on an >> RHEL >> 5.x machine >> with PSQL 8.1.11. The destination DB is running on SuSE 11.0 with >> PSQL 8.3.x. >> The mechines are relative far away each other and there is a 2Mbps >> WAN >> line between them. > >> The DB is the same except the character coding. Source is LATIN2 and >> the target DB is UTF8. >> We wrote a trigger to copy the data from source to target with >> dblink. >> The problem is the >> different DB character coding! PGSQL complains about wrong byte >> order. > > Hmm. You can presumably fix this by setting client_encoding in the > dblink connection to match the encoding in use in the database it's > called in. But I wonder why dblink doesn't just do that for you > automatically. > > regards, tom lane > We did it like this: INSERT INTO a tbl_datafeed SELECT nextval('acc_mkt.tbl_ants_to_ace_feed_row_id_seq'), convert(project_number::bytea, 'WIN1258'::text, 'UTF8'::text), convert(project_name::bytea, 'WIN1258'::text, 'UTF8'::text), ... .... ... FROM dblink('dbname=mydbname host=removehost user=someuser','SELECT * FROM tbl_datafeed') AS p ( ... .. ... .) Ries
В списке pgsql-hackers по дате отправления: