Thread: Move database from Solaris to Windows

Move database from Solaris to Windows

From
"Barry C Dowell"
Date:
Please forgive me if this question is being asked in the wrong area (and
please suggest the proper one so I can ask there :-) ), but I'm in search of
assistance in moving a database from a Solaris system over to a Windows
system.

Solaris 5.8, postgreSQL 8.01, to Windows Server 2003, postgreSQL 8.0.13.

Installing on the Windows Server has gone simple enough, and I've actually
experimented a little with pg_dump to dump the contents of the database that
I get by default when installing the application that I'm working with which
requires the db.

I tried using pg_dump --format=t to dump the original database, and then
tried to restore into a database with the same name on the Windows side but
that restore has not been successful.

I've been trying to follow information found here:
http://www.postgresql.org/docs/8.0/static/app-pgrestore.html but have not
been successful yet.

Any assistance that can be lent my way is greatly appreciated.


Bcd


Re: Move database from Solaris to Windows

From
Steve Atkins
Date:
On Aug 1, 2007, at 11:44 AM, Barry C Dowell wrote:

> Please forgive me if this question is being asked in the wrong area
> (and
> please suggest the proper one so I can ask there :-) ), but I'm in
> search of
> assistance in moving a database from a Solaris system over to a
> Windows
> system.
>
> Solaris 5.8, postgreSQL 8.01, to Windows Server 2003, postgreSQL
> 8.0.13.
>
> Installing on the Windows Server has gone simple enough, and I've
> actually
> experimented a little with pg_dump to dump the contents of the
> database that
> I get by default when installing the application that I'm working
> with which
> requires the db.
>
> I tried using pg_dump --format=t to dump the original database, and
> then
> tried to restore into a database with the same name on the Windows
> side but
> that restore has not been successful.

I find it a lot easier to diagnose what's going on with plain format,
generally.

>
> I've been trying to follow information found here:
> http://www.postgresql.org/docs/8.0/static/app-pgrestore.html but
> have not
> been successful yet.
>
> Any assistance that can be lent my way is greatly appreciated.

You'll need to post a few more details (what commands you ran,
what errors you got) before people will be able to help you much.

Cheers,
   Steve


Re: Move database from Solaris to Windows

From
"Barry C Dowell"
Date:
You asked for details, here's a few:

The database that I'm working with on the Solaris side is approximately
1.5GB in size.  One file in the directory that I believe is that database,
is over 1GB in size on it's own.

When I tried using the plain format, I got human readable information which
is fine, but when I attempted to restore the database on the Windows side
using that file the psql database < output.fil command choked on several
lines from the output.fil that included the sequence \^N (or similar) at the
end of the lines (apparently lines that were supposed to load data into a
table).

That was but one of the issues that was noted, as there several.  I can
replicate the problem again but have to remove the application first, then
remove postgreSQL, reinstall postgreSQL and then reinstall the application
to create the original database that will then be replaced with the copy
brought over from Solaris.

During the earlier attempts, I did not CLEAN the database before attempting
to restore it, so I was also getting lots of messages about duplicate keys,
or existing keys.  I would guess that the recommendation is to clean the
database before restoring it, which might work just fine, but it doesn't
resolve the issue noted with the characters that aren't understood (psql
seemed to think they were commands, but of course gives a syntax type error
message saying they aren't understood).


When I dumped the original database, I used simple commands like this:

pg_dump --file=output.fil --format=p Databasename

When I tried to restore the database, I followed the examples in the link in
my original post and did the following:

psql -d databasename -f output.fil

I also tried the same basic processes when working with the tar format (I
assumed that I was going to need that because of large objects).  Again
though, I never cleaned the database during the restore processes.


Thanks again for any assistance!


bcd



-----Original Message-----
From: pgsql-general-owner@postgresql.org
[mailto:pgsql-general-owner@postgresql.org] On Behalf Of Steve Atkins
Sent: Wednesday, August 01, 2007 3:35 PM
To: pgsql-general@postgresql.org
Subject: Re: [GENERAL] Move database from Solaris to Windows


On Aug 1, 2007, at 11:44 AM, Barry C Dowell wrote:

> Please forgive me if this question is being asked in the wrong area
> (and please suggest the proper one so I can ask there :-) ), but I'm
> in search of assistance in moving a database from a Solaris system
> over to a Windows system.
>
> Solaris 5.8, postgreSQL 8.01, to Windows Server 2003, postgreSQL
> 8.0.13.
>
> Installing on the Windows Server has gone simple enough, and I've
> actually experimented a little with pg_dump to dump the contents of
> the database that I get by default when installing the application
> that I'm working with which requires the db.
>
> I tried using pg_dump --format=t to dump the original database, and
> then tried to restore into a database with the same name on the
> Windows side but that restore has not been successful.

I find it a lot easier to diagnose what's going on with plain format,
generally.

>
> I've been trying to follow information found here:
> http://www.postgresql.org/docs/8.0/static/app-pgrestore.html but
> have not
> been successful yet.
>
> Any assistance that can be lent my way is greatly appreciated.

You'll need to post a few more details (what commands you ran,
what errors you got) before people will be able to help you much.

Cheers,
   Steve


---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

               http://archives.postgresql.org/


Re: Move database from Solaris to Windows

From
Erik Jones
Date:
On Aug 1, 2007, at 2:34 PM, Steve Atkins wrote:

>
> On Aug 1, 2007, at 11:44 AM, Barry C Dowell wrote:
>
>> Please forgive me if this question is being asked in the wrong
>> area (and
>> please suggest the proper one so I can ask there :-) ), but I'm in
>> search of
>> assistance in moving a database from a Solaris system over to a
>> Windows
>> system.
>>
>> Solaris 5.8, postgreSQL 8.01, to Windows Server 2003, postgreSQL
>> 8.0.13.
>>
>> Installing on the Windows Server has gone simple enough, and I've
>> actually
>> experimented a little with pg_dump to dump the contents of the
>> database that
>> I get by default when installing the application that I'm working
>> with which
>> requires the db.
>>
>> I tried using pg_dump --format=t to dump the original database,
>> and then
>> tried to restore into a database with the same name on the Windows
>> side but
>> that restore has not been successful.
>
> I find it a lot easier to diagnose what's going on with plain
> format, generally.
>
>>
>> I've been trying to follow information found here:
>> http://www.postgresql.org/docs/8.0/static/app-pgrestore.html but
>> have not
>> been successful yet.
>>
>> Any assistance that can be lent my way is greatly appreciated.
>
> You'll need to post a few more details (what commands you ran,
> what errors you got) before people will be able to help you much.

Yes, dump/restore is pretty much the standard to move dbs across
architectures so we'll need more to work with.  One thing to check,
did you make sure that your dump was in the same encoding as the
database you created on your Windows server?

Erik Jones

Software Developer | Emma®
erik@myemma.com
800.595.4401 or 615.292.5888
615.292.0777 (fax)

Emma helps organizations everywhere communicate & market in style.
Visit us online at http://www.myemma.com



Re: Move database from Solaris to Windows

From
"Barry C Dowell"
Date:
Ok, if you can forgive the possible stupid answer and help pull me a long a
bit more, in answer to this:

>> Yes, dump/restore is pretty much the standard to move dbs across
architectures so we'll need more to work with.  One thing to check, did you
make sure that your dump was in the same encoding as the database you
created on your Windows server?

How do I know what encoding was used on one database (on one OS) versus the
other?

I have been assuming that the databases would be the same since they are
created by the same application in both environments.  Perhaps that is a
false assumption, but I would expect that the app developers wouldn't want
to work with different types of postgreSQL databases on different platforms.

I know that both platforms connect to the database and do their work through
Java (JDBC connections), but that's about the best of what I can tell you at
this point (though I'm willing to dig for more information to help get more
assistance of course).



Bcd


-----Original Message-----
From: pgsql-general-owner@postgresql.org
[mailto:pgsql-general-owner@postgresql.org] On Behalf Of Erik Jones
Sent: Wednesday, August 01, 2007 4:22 PM
To: Steve Atkins
Cc: pgsql-general@postgresql.org
Subject: Re: [GENERAL] Move database from Solaris to Windows

On Aug 1, 2007, at 2:34 PM, Steve Atkins wrote:

>
> On Aug 1, 2007, at 11:44 AM, Barry C Dowell wrote:
>
>> Please forgive me if this question is being asked in the wrong area
>> (and please suggest the proper one so I can ask there :-) ), but I'm
>> in search of assistance in moving a database from a Solaris system
>> over to a Windows system.
>>
>> Solaris 5.8, postgreSQL 8.01, to Windows Server 2003, postgreSQL
>> 8.0.13.
>>
>> Installing on the Windows Server has gone simple enough, and I've
>> actually experimented a little with pg_dump to dump the contents of
>> the database that I get by default when installing the application
>> that I'm working with which requires the db.
>>
>> I tried using pg_dump --format=t to dump the original database, and
>> then tried to restore into a database with the same name on the
>> Windows side but that restore has not been successful.
>
> I find it a lot easier to diagnose what's going on with plain format,
> generally.
>
>>
>> I've been trying to follow information found here:
>> http://www.postgresql.org/docs/8.0/static/app-pgrestore.html but have
>> not been successful yet.
>>
>> Any assistance that can be lent my way is greatly appreciated.
>
> You'll need to post a few more details (what commands you ran, what
> errors you got) before people will be able to help you much.

Yes, dump/restore is pretty much the standard to move dbs across
architectures so we'll need more to work with.  One thing to check, did you
make sure that your dump was in the same encoding as the database you
created on your Windows server?

Erik Jones

Software Developer | EmmaR
erik@myemma.com
800.595.4401 or 615.292.5888
615.292.0777 (fax)

Emma helps organizations everywhere communicate & market in style.
Visit us online at http://www.myemma.com



---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match


Re: Move database from Solaris to Windows

From
"Merlin Moncure"
Date:
On 8/2/07, Barry C Dowell <barry.c.dowell.1@gsfc.nasa.gov> wrote:
> Ok, if you can forgive the possible stupid answer and help pull me a long a
> bit more, in answer to this:
>
> >> Yes, dump/restore is pretty much the standard to move dbs across
> architectures so we'll need more to work with.  One thing to check, did you
> make sure that your dump was in the same encoding as the database you
> created on your Windows server?
>
> How do I know what encoding was used on one database (on one OS) versus the
> other?

psql -l

lists the encoding.  postgresql on windows iirc defaults to sql_ascii
which is actually the most forgiving but not a great choice.  linux
defaults to utf-8.

can you post the exact text of the error?

merlin

Re: Move database from Solaris to Windows

From
"Barry C Dowell"
Date:
Following up on this issue --

I found resolution to the problems that I was having, with one error
remaining when I work on the database restore (somewhat expected error
really, and one I no longer need any assistance with).

The initial problems I was having were from running pg_dump on the Solaris
system and then transferring the dump file over to the Windows system and
trying to restore using that file.

First, there was the issue of me not running the pg_dump using the --clean
option.  That resulted in attempts to make duplicate keys, etc.  Again, to
be expected, and just a parameter issue in the usage caused by my own
inexperience with the software.

Second, the bigger problem, and the one that caused me a lot more grief to
begin with is that in moving the file from Solaris to Windows some munging
of the file was happening with extra characters included in the file that
were confusing psql.

The ultimate solution was to make use of the pg_dump command on the Windows
box when pointing to the Solaris host.  I had to use the --host option to
tell the Windows pg_dump command where to find the database on the Solaris
host, but once done, pg_dump created a good copy of the dump.  Adding
--clean on top gave me a dump with the commands to clean/out the database
first, and that elminated a lot of extra error messages and warnings that
were coming up.

I want to say thanks to the folks that have developed the various utilities,
but a special thanks to the folks that have put so much effort into the
online documentation.  It is clean, clear, concise and offers enough
examples that just about anyone should be able to help themselves to a
solution.

I also would like to say thanks to the people that answered my original
posting for their tips and suggestions.  It did help to get me info on the
database encoding (confirmed it was the same on both sides) and helped me
trouble shoot things that much more.

Best of luck to everyone in the list as I get ready to sign off for a while
and quiet down my e-mail traffic some.  Hopefully later I'll get a chance to
participate more.


Bcd


-----Original Message-----
From: Barry C Dowell [mailto:barry.c.dowell.1@gsfc.nasa.gov]
Sent: Wednesday, August 01, 2007 4:40 PM
To: 'pgsql-general@postgresql.org'
Subject: RE: [GENERAL] Move database from Solaris to Windows

Ok, if you can forgive the possible stupid answer and help pull me a long a
bit more, in answer to this:

>> Yes, dump/restore is pretty much the standard to move dbs across
architectures so we'll need more to work with.  One thing to check, did you
make sure that your dump was in the same encoding as the database you
created on your Windows server?

How do I know what encoding was used on one database (on one OS) versus the
other?

I have been assuming that the databases would be the same since they are
created by the same application in both environments.  Perhaps that is a
false assumption, but I would expect that the app developers wouldn't want
to work with different types of postgreSQL databases on different platforms.

I know that both platforms connect to the database and do their work through
Java (JDBC connections), but that's about the best of what I can tell you at
this point (though I'm willing to dig for more information to help get more
assistance of course).



Bcd


-----Original Message-----
From: pgsql-general-owner@postgresql.org
[mailto:pgsql-general-owner@postgresql.org] On Behalf Of Erik Jones
Sent: Wednesday, August 01, 2007 4:22 PM
To: Steve Atkins
Cc: pgsql-general@postgresql.org
Subject: Re: [GENERAL] Move database from Solaris to Windows

On Aug 1, 2007, at 2:34 PM, Steve Atkins wrote:

>
> On Aug 1, 2007, at 11:44 AM, Barry C Dowell wrote:
>
>> Please forgive me if this question is being asked in the wrong area
>> (and please suggest the proper one so I can ask there :-) ), but I'm
>> in search of assistance in moving a database from a Solaris system
>> over to a Windows system.
>>
>> Solaris 5.8, postgreSQL 8.01, to Windows Server 2003, postgreSQL
>> 8.0.13.
>>
>> Installing on the Windows Server has gone simple enough, and I've
>> actually experimented a little with pg_dump to dump the contents of
>> the database that I get by default when installing the application
>> that I'm working with which requires the db.
>>
>> I tried using pg_dump --format=t to dump the original database, and
>> then tried to restore into a database with the same name on the
>> Windows side but that restore has not been successful.
>
> I find it a lot easier to diagnose what's going on with plain format,
> generally.
>
>>
>> I've been trying to follow information found here:
>> http://www.postgresql.org/docs/8.0/static/app-pgrestore.html but have
>> not been successful yet.
>>
>> Any assistance that can be lent my way is greatly appreciated.
>
> You'll need to post a few more details (what commands you ran, what
> errors you got) before people will be able to help you much.

Yes, dump/restore is pretty much the standard to move dbs across
architectures so we'll need more to work with.  One thing to check, did you
make sure that your dump was in the same encoding as the database you
created on your Windows server?

Erik Jones

Software Developer | EmmaR
erik@myemma.com
800.595.4401 or 615.292.5888
615.292.0777 (fax)

Emma helps organizations everywhere communicate & market in style.
Visit us online at http://www.myemma.com



---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match