c.prepare("insert into test_ip (addr) values ('10.0.0.1')")() - saves to table '10.0.0.1' c.prepare("insert into test_ip (addr) values ($1)")("10.0.0.1") - saves to table '10.0.0.1/0' When queried with the python-postgres both values looks identical - IPv4Address('10.0.0.1') but other apps get confused. Tried with postgres 9.1.3 and 9.1.8, python 3.3 and library 1.1.0