I have switched the query log on, and it looks like bucardo has
problems with reading the data from the source database.
my insert into database testa:
2013-09-02 11:08:28 CEST LOG: statement: INSERT INTO testtable VALUES
(1, '192.168.1.1', 'foobar');
what bucardo tries to insert into database testb:
2013-09-02 11:08:29 CEST LOG: execute dbdpg_p14740_6: INSERT INTO
public.testtable (id, host_ip,"prüfsumme") VALUES ($1,$2,$3)
2013-09-02 11:08:29 CEST DETAIL: parameters: $1 = '1', $2 =
'192.168.1.1', $3 = NULL
2013-09-02 11:08:29 CEST ERROR: null value in column "prüfsumme"
violates not-null constraint
2013-09-02 11:08:29 CEST STATEMENT: INSERT INTO public.testtable (id,
host_ip,"prüfsumme") VALUES ($1,$2,$3)
prüfsumme is quoted with "" which looks ok.
client encoding is set to utf8:
testa=# SHOW client_encoding;
client_encoding
-----------------
UTF8
(1 row)
Cheers
Christian
On 2013-09-02 10:55, Alex Balashov wrote:
Yes, but this works:
CREATE TABLE x (
übergang varchar(32) PRIMARY KEY NOT NULL
);
evariste=> INSERT INTO x (übergang) VALUES('Ausgezeichnet!');
INSERT 0 1
-- Alex
On 09/02/2013 04:53 AM, Michelle Sullivan wrote:
Alex Balashov wrote:
That's really odd. Are Perl strings not 8-bit clean by default? I
wouldn't have thought...
I would suggest this is more likely to be an issue with PostgreSQL
rather than perl (though I am guessing.)
You get similar problems with using capital letters for column
names...
PostgreSQL will ignore the case unless the column name is enclosed
in
quotes...
CREATE TABLE testtable
(
id integer primary key,
host_ip inet NOT NULL,
Prufsumme character varying(255) NOT NULL
);
INSERT INTO testtable VALUES (1, '192.168.1.1', 'foobar');
Will succeed.
INSERT INTO testtable (id, host_ip, "Prufsumme") VALUES (1,
'192.168.1.1', 'foobar');
Will also succeed.
INSERT INTO testtable (id, host_ip, Prufsumme) VALUES (1,
'192.168.1.1',
'foobar');
Will fail.
INSERT INTO testtable (id, host_ip, prufsumme) VALUES (1,
'192.168.1.1',
'foobar');
Will succeed on *some* versions of PostgreSQL (but should fail on
all).
Michelle
On 09/02/2013 04:33 AM, Christian Ritter wrote:
Hello,
i have a really strange problem with bucardo and german umlauts.
If you have a table where a column name contains german umlauts
bucardo
is unable to replicate the data.
Bucardo version is 4.5.0 and postgres version is 9.1.9 or 9.2.1
If you create a table like that on both databases:
CREATE TABLE testtable
(
id integer primary key,
host_ip inet NOT NULL,
prüfsumme character varying(255) NOT NULL
);
and then add some data to that table, like:
INSERT INTO testtable VALUES (1, '192.168.1.1', 'foobar');
bucardo fails to replicate it and you get an error:
KID [1/1] public.testtable INSERT source to target pk 1
KID Warning! Aborting due to exception for public.testtable.id: 1
Error
was DBD::Pg::st execute failed: ERROR: null value in column
"prüfsumme"
violates not-null constraint at /root/perl5/lib/perl5/Bucardo.pm
line
5769.
KID Final database backend PID is 10758
It looks like bucardo tries to insert NULL and not foobar into the
column called "prüfsumme" which of course breaks the NOT NULL
constraint.
complete log of db creation and bucardo install is here:
http://pastebin.com/Q8KV06jA
log.bucardo could be found here:
http://pastebin.com/TyCbn8mz
Cheers
Christian
_______________________________________________
Bucardo-general mailing list
[email protected]
https://mail.endcrypt.com/mailman/listinfo/bucardo-general
_______________________________________________
Bucardo-general mailing list
[email protected]
https://mail.endcrypt.com/mailman/listinfo/bucardo-general