Hello I am surprised, but i can confirm error on versions prior 9.6: on 9.5, 9.4, 9.3 same error. On 9.6 and 10 query works correctly All checked postgresql are x86_64 from postgresql debian repository: http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main
postgres=# select 0.5678::numeric operator(pg_catalog.^) (-85::numeric); ERROR: division by zero postgres=# select version(); version ------------------------------------------------------------------------------------------- PostgreSQL 9.5.10 on x86_64-pc-linux-gnu, compiled by gcc (Debian 4.9.2-10) 4.9.2, 64-bit Regards, Sergei 11.01.2018, 15:27, "Chapman Flack" <c...@anastigmatix.net>: > On 01/11/18 02:07, Tom Lane wrote: > >> Hm, it won't help your sanity to know that those cases pass fine >> for me, interactively, on a couple of different machines: >> ... >> You sure you're using a stock build of Postgres? No handmade >> versions of operator ^ lying around? > > Interesting thought.... > > At $work: > postgresql95-server.x86_64 9.5.10-1PGDG.rhel7 @pgdg95 > > postgres=> select 0.5678 operator(pg_catalog.^) (-85); > ERROR: division by zero > postgres=> select 0.5678::numeric operator(pg_catalog.^) (-85::numeric); > ERROR: division by zero > > Also at home in a gentoo 9.5.1 ebuild... > Also in a build from e35dba475a440f73dccf9ed1fd61e3abc6ee61db in git. > > All x86_64 .... > > -Chap