Significance of USE_FLOAT8_BYVAL ?

Started by runnerabout 15 years ago2 messagesgeneral
Jump to latest
#1runner
runner@winning.com

Using the 9.0.3 binaries from the PostgreSQL download site, Solaris 10 on Sparc architecture.

I had a co-worker set up a development server using the 32 bit PostgreSQL binaries for Solaris 10 Sparc. After some initial testing we realized we can't take full advantage of the 16 GB of system memory. So I downloaded the 64 bit binaries. We can't use the existing database we created because when we start the 64 bit server it errors out with:

2011-02-25 10:51:10 MST::@:[10060]: DETAIL: The database cluster was initialized without USE_FLOAT8_BYVAL but the server was compiled with USE_FLOAT8_BYVAL.
2011-02-25 10:51:10 MST::@:[10060]: HINT: It looks like you need to recompile or initdb.

I don't have a problem with blowing the database cluster away and starting over but I'd like to have a better understanding of what USE_FLOAT8_BYVAL does and how it affects our install. I spent a considerable amount of time googling this and was not able to locate any useful information that explains what this param does and how it will affect us.

Thank you,
Rick

#2Merlin Moncure
mmoncure@gmail.com
In reply to: runner (#1)
Re: Significance of USE_FLOAT8_BYVAL ?

On Fri, Feb 25, 2011 at 12:25 PM, runner <runner@winning.com> wrote:

I don't have a problem with blowing the database cluster away and starting
over but I'd like to have a better understanding of what USE_FLOAT8_BYVAL
does and how it affects our install.  I spent a considerable amount of time
googling this and was not able to locate any useful information that
explains what this param does and how it will affect us.

it instructs the server to pass float8 (C double) by value instead of
by reference (double*). It's an architecture optimization thing.
Anyways, you really should do initdb when switching hardware,
architecture, o/s, etc.

merlin