Thread: copy from problem
Hello all, (Postgres 8.4.6 Windows) I am stumped as to why I cannot import this using copy from within pgadmin (the following table is created in an existing database with an encoding of WIN1252 and the Postgres server_encoding is UTF8) : CREATE TABLE test ( col_descr text ) WITH ( OIDS=FALSE ); ALTER TABLE test OWNER TO postgres; set client_encoding = 'WIN1252'; COPY test FROM 'C:\\pgtemp\\test.txt' with delimiter as '|' csv; select * from test; --- col_descr -- ---------------- -- (empty row) The file test.txt contains 1 line of 2 characters: éÉ (acute accented lowercase and uppercase e, hex(E9C9), valid win1252 characters. Any help would be appreciated. Mark
On Wednesday 22 December 2010 12:34:58 pm Mark Watson wrote: > Hello all, > (Postgres 8.4.6 Windows) > I am stumped as to why I cannot import this using copy from within pgadmin > (the following table is created in an existing database with an encoding of > WIN1252 and the Postgres server_encoding is UTF8) : > CREATE TABLE test > ( > col_descr text > ) > WITH ( > OIDS=FALSE > ); > ALTER TABLE test OWNER TO postgres; > set client_encoding = 'WIN1252'; > COPY test FROM 'C:\\pgtemp\\test.txt' with delimiter as '|' csv; > select * from test; > --- col_descr > -- ---------------- > -- (empty row) > > The file test.txt contains 1 line of 2 characters: éÉ (acute accented > lowercase and uppercase e, hex(E9C9), valid win1252 characters. > > Any help would be appreciated. > Mark Is there anything in the database logs? Are the two characters separated by '|'? -- Adrian Klaver adrian.klaver@gmail.com
Le 22/12/2010 21:34, Mark Watson a écrit : > Hello all, > (Postgres 8.4.6 Windows) > I am stumped as to why I cannot import this using copy from within pgadmin > (the following table is created in an existing database with an encoding of > WIN1252 and the Postgres server_encoding is UTF8) : > CREATE TABLE test > ( > col_descr text > ) > WITH ( > OIDS=FALSE > ); > ALTER TABLE test OWNER TO postgres; > set client_encoding = 'WIN1252'; > COPY test FROM 'C:\\pgtemp\\test.txt' with delimiter as '|' csv; > select * from test; > --- col_descr > -- ---------------- > -- (empty row) > > The file test.txt contains 1 line of 2 characters: éÉ (acute accented > lowercase and uppercase e, hex(E9C9), valid win1252 characters. > > Any help would be appreciated. It would be so much easier if you told us your error message. -- Guillaume http://www.postgresql.fr http://dalibo.com
Le 22/12/2010 21:34, Mark Watson a écrit : > Hello all, > (Postgres 8.4.6 Windows) > I am stumped as to why I cannot import this using copy from within pgadmin > (the following table is created in an existing database with an encoding of > WIN1252 and the Postgres server_encoding is UTF8) : > CREATE TABLE test > ( > col_descr text > ) > WITH ( > OIDS=FALSE > ); > ALTER TABLE test OWNER TO postgres; > set client_encoding = 'WIN1252'; > COPY test FROM 'C:\\pgtemp\\test.txt' with delimiter as '|' csv; > select * from test; > --- col_descr > -- ---------------- > -- (empty row) > > The file test.txt contains 1 line of 2 characters: éÉ (acute accented > lowercase and uppercase e, hex(E9C9), valid win1252 characters. > > Any help would be appreciated. It would be so much easier if you told us your error message. -- Guillaume http://www.postgresql.fr http://dalibo.com ------------------------------------ Another update : After toying around with this, I think this is a subject for the PgAdmin list. It looks like a display problem in pgAdmin. The characters are being displayed with a client_encoding of UTF8 but not with a client_encoding of WIN1252. My application, which sets client_encoding to WIN1252, receives and displays the characters correctly. By the way, my pgAdmin is configured with Preferences=>Font = Tahoma windows-1252 and Query=>Font = Tahoma 9 windows-1252.
Le 23/12/2010 14:36, Mark Watson a écrit : > Le 22/12/2010 21:34, Mark Watson a écrit : >> Hello all, >> (Postgres 8.4.6 Windows) >> I am stumped as to why I cannot import this using copy from within pgadmin >> (the following table is created in an existing database with an encoding > of >> WIN1252 and the Postgres server_encoding is UTF8) : >> CREATE TABLE test >> ( >> col_descr text >> ) >> WITH ( >> OIDS=FALSE >> ); >> ALTER TABLE test OWNER TO postgres; >> set client_encoding = 'WIN1252'; >> COPY test FROM 'C:\\pgtemp\\test.txt' with delimiter as '|' csv; >> select * from test; >> --- col_descr >> -- ---------------- >> -- (empty row) >> >> The file test.txt contains 1 line of 2 characters: éÉ (acute accented >> lowercase and uppercase e, hex(E9C9), valid win1252 characters. >> >> Any help would be appreciated. > > It would be so much easier if you told us your error message. > > > -- > Guillaume > http://www.postgresql.fr > http://dalibo.com > > ------------------------------------ > Another update : > After toying around with this, I think this is a subject for the PgAdmin > list. It looks like a display problem in pgAdmin. The characters are being > displayed with a client_encoding of UTF8 but not with a client_encoding of > WIN1252. My application, which sets client_encoding to WIN1252, receives and > displays the characters correctly. By the way, my pgAdmin is configured with > Preferences=>Font = Tahoma windows-1252 and Query=>Font = Tahoma 9 > windows-1252. > pgAdmin sets the client encoding to UTF-8 and only displays UTF-8. -- Guillaume http://www.postgresql.fr http://dalibo.com
Le 23/12/2010 14:36, Mark Watson a écrit : > Le 22/12/2010 21:34, Mark Watson a écrit : >> Hello all, >> (Postgres 8.4.6 Windows) >> I am stumped as to why I cannot import this using copy from within pgadmin >> (the following table is created in an existing database with an encoding > of >> WIN1252 and the Postgres server_encoding is UTF8) : >> CREATE TABLE test >> ( >> col_descr text >> ) >> WITH ( >> OIDS=FALSE >> ); >> ALTER TABLE test OWNER TO postgres; >> set client_encoding = 'WIN1252'; >> COPY test FROM 'C:\\pgtemp\\test.txt' with delimiter as '|' csv; >> select * from test; >> --- col_descr >> -- ---------------- >> -- (empty row) >> >> The file test.txt contains 1 line of 2 characters: éÉ (acute accented >> lowercase and uppercase e, hex(E9C9), valid win1252 characters. >> >> Any help would be appreciated. > > It would be so much easier if you told us your error message. > > > -- > Guillaume > http://www.postgresql.fr > http://dalibo.com > > ------------------------------------ > Another update : > After toying around with this, I think this is a subject for the PgAdmin > list. It looks like a display problem in pgAdmin. The characters are being > displayed with a client_encoding of UTF8 but not with a client_encoding of > WIN1252. My application, which sets client_encoding to WIN1252, receives and > displays the characters correctly. By the way, my pgAdmin is configured with > Preferences=>Font = Tahoma windows-1252 and Query=>Font = Tahoma 9 > windows-1252. > pgAdmin sets the client encoding to UTF-8 and only displays UTF-8. -- Guillaume http://www.postgresql.fr http://dalibo.com -------------------------------------------- Thanks, Guillaume! That answers everything. Happy holidays to all! -Mark