Обсуждение: Postgres automatically inserts chr(13) whenever chr(10) is inserted
create table sample(column_sample varchar(500)) insert into sample(column_sample) values('this is first row of text' || chr(10) || 'this is second row of text') Now, instead of just inserting chr(10), postgres inserts chr(13) + chr(10). Is there a way to avoid this? Database is on a linux server with SQL_ASCII encoding, clients are winXP communicating thru ODBC. Tnx in advance DRagan Matic
On Fri, Mar 03, 2006 at 08:47:00AM +0100, Dragan Matic wrote: > create table sample(column_sample varchar(500)) > > insert into sample(column_sample) values('this is first row of text' || > chr(10) || 'this is second row of text') > > Now, instead of just inserting chr(10), postgres inserts chr(13) + > chr(10). Is there a way to avoid this? Database is on a linux server > with SQL_ASCII encoding, clients are winXP communicating thru ODBC. How did you determine what characters are being inserted? What's the output of the following example? INSERT INTO sample VALUES ('a' || chr(10) || 'b'); SELECT length(column_sample), decode(column_sample, 'escape') FROM sample; -- Michael Fuhr
Dragan Matic <mlists@panforma.co.yu> writes: > create table sample(column_sample varchar(500)) > insert into sample(column_sample) values('this is first row of text' || > chr(10) || 'this is second row of text') > Now, instead of just inserting chr(10), postgres inserts chr(13) + > chr(10). Postgres most certainly does not do that, as even a moment's experimentation (eg, with length()) will prove to you. Take a closer look at your client-side software to find out where the newline conversion is happening. regards, tom lane