Thread: Restoring Database created on windows on FreeBSD

Restoring Database created on windows on FreeBSD

From
postgresql@bryden.co.za
Date:
Hi

I am very new to FreeBSD (Windows Background), but am busy trying to
implement a PostgreSQL database that I have running in the Windows
environemtn on FreeBSD. Naturally, most of my problems so far have been
geeting to grips with FreeBSD.

Anyway, I am having a problem at the moment. Having being previously
spoilt with the ease of installation on windows, I am sure that I have
missed the boat on something.
I downloaded the latest port for PostgreSQL-8.0.4 from postgresql.org. I
followed the instructions in the documentation and all seemed to work. I
have successfully created "test" databases and have happily managed to
connect to the new PostgreSQL server using psql and pgAdmin III(on
windows). I have now backed up my DB from windows and have created a new
database on the BSD server. When restoring this DB I got a lot of errors
related to some of the system installed functions. I then realised that
the PostgreSQL installation on FreeBSD did not install any of the contrib
modules. I went to the /contrib folder in the port I used to to install
postgreSQL (/usr/ports/database/postgresql-8.0.4/contrib). I excluded
/cube and /mysql from the MakeFile (cube seemed to be failing and why
would I want mysql stuff on PostgreSQL?). I then did a gmake install. All
contribs seemed to install fine. I reran the restore on a clean DB and
most of the errors went away, but I am still getting errors all related to
system functions looking for '$libdir/admin'.

Does anyone know what I could have missed here?
Any help would be appreciated.

Thanks
Craig

Re: Restoring Database created on windows on FreeBSD

From
Hannes Dorbath
Date:
On 19.10.2005 08:23, postgresql@bryden.co.za wrote:
> I excluded
> /cube and /mysql from the MakeFile (cube seemed to be failing and why
> would I want mysql stuff on PostgreSQL?). I then did a gmake install. All
> contribs seemed to install fine. I reran the restore on a clean DB and
> most of the errors went away, but I am still getting errors all related to
> system functions looking for '$libdir/admin'.
>
> Does anyone know what I could have missed here?

You executed the belonging SQL scripts for the contrib stuff?

Anyway, I'd strongly recommend to only install contrib stuff you
actually plan to use and not clutter up your installation with all and
everything..

Chose the stuff you need, gmake install it, execute the belonging SQL
against template1 and preferable use the custom binary dump format, as
it is much more flexible on restore..


--
Regards,
Hannes Dorbath

Re: Restoring Database created on windows on FreeBSD

From
Sven Willenberger
Date:
On Wed, 2005-10-19 at 08:23 +0200, postgresql@bryden.co.za wrote:
> Hi
>
> I am very new to FreeBSD (Windows Background), but am busy trying to
> implement a PostgreSQL database that I have running in the Windows
> environemtn on FreeBSD. Naturally, most of my problems so far have been
> geeting to grips with FreeBSD.
>
> Anyway, I am having a problem at the moment. Having being previously
> spoilt with the ease of installation on windows, I am sure that I have
> missed the boat on something.

Freebsd ports is an amazingly easy way to install software.


> I downloaded the latest port for PostgreSQL-8.0.4 from postgresql.org.

the postgresq website does not have Freebsd ports ... just source code
from what I can see.

> I
> followed the instructions in the documentation and all seemed to work. I
> have successfully created "test" databases and have happily managed to
> connect to the new PostgreSQL server using psql and pgAdmin III(on
> windows). I have now backed up my DB from windows and have created a new
> database on the BSD server. When restoring this DB I got a lot of errors
> related to some of the system installed functions. I then realised that
> the PostgreSQL installation on FreeBSD did not install any of the contrib
> modules. I went to the /contrib folder in the port I used to to install
> postgreSQL (/usr/ports/database/postgresql-8.0.4/contrib). I excluded
> /cube and /mysql from the MakeFile (cube seemed to be failing and why
> would I want mysql stuff on PostgreSQL?). I then did a gmake install. All
> contribs seemed to install fine. I reran the restore on a clean DB and
> most of the errors went away, but I am still getting errors all related to
> system functions looking for '$libdir/admin'.
>
> Does anyone know what I could have missed here?

It looks like you built from source rather that using the FreeBSD ports
system. Assuming you have a fresh FreeBSD install one would do the
following to achieve your desired end goal.

1) cd /usr/ports/databases/postgresql80-server
2) make && make install
3) pay attention to the notes at the end about tuning your kernel for
shared memory usage (if you plan on having lots of connections)
4) cd /usr/ports/databases/postgresql-contrib
5) make && make install
6) /usr/local/etc/rc.d/010.pgsql.sh initdb
7) /usr/local/etc/rc.d/010.pgsql.sh start

Now if your ports tree is out of date (or even if not) you may want to
do the following instead:

1) pkg_add -r postgresql80-server
2) pkg_add -r postgresql-contrib

Then continue with steps 6 and 7 above. You can verify the package
installation via pkg_info. Also, you may need to build (via ports) or
add (via pkg_add) postgresql80-client.

HTH

Sven


Re: Restoring Database created on windows on FreeBSD

From
postgresql@bryden.co.za
Date:
Hi Sven

Thanks for the info. This is a great help.
One question:

> On Wed, 2005-10-19 at 08:23 +0200, postgresql@bryden.co.za wrote:
>> Hi
>>
>> I am very new to FreeBSD (Windows Background), but am busy trying to
>> implement a PostgreSQL database that I have running in the Windows
>> environemtn on FreeBSD. Naturally, most of my problems so far have been
>> geeting to grips with FreeBSD.
>>
>> Anyway, I am having a problem at the moment. Having being previously
>> spoilt with the ease of installation on windows, I am sure that I have
>> missed the boat on something.
>
> Freebsd ports is an amazingly easy way to install software.
>
>
>> I downloaded the latest port for PostgreSQL-8.0.4 from postgresql.org.
>
> the postgresq website does not have Freebsd ports ... just source code
> from what I can see.
>
>> I
>> followed the instructions in the documentation and all seemed to work. I
>> have successfully created "test" databases and have happily managed to
>> connect to the new PostgreSQL server using psql and pgAdmin III(on
>> windows). I have now backed up my DB from windows and have created a new
>> database on the BSD server. When restoring this DB I got a lot of errors
>> related to some of the system installed functions. I then realised that
>> the PostgreSQL installation on FreeBSD did not install any of the
>> contrib
>> modules. I went to the /contrib folder in the port I used to to install
>> postgreSQL (/usr/ports/database/postgresql-8.0.4/contrib). I excluded
>> /cube and /mysql from the MakeFile (cube seemed to be failing and why
>> would I want mysql stuff on PostgreSQL?). I then did a gmake install.
>> All
>> contribs seemed to install fine. I reran the restore on a clean DB and
>> most of the errors went away, but I am still getting errors all related
>> to
>> system functions looking for '$libdir/admin'.
>>
>> Does anyone know what I could have missed here?
>
> It looks like you built from source rather that using the FreeBSD ports
> system. Assuming you have a fresh FreeBSD install one would do the
> following to achieve your desired end goal.
>
> 1) cd /usr/ports/databases/postgresql80-server
> 2) make && make install
> 3) pay attention to the notes at the end about tuning your kernel for
> shared memory usage (if you plan on having lots of connections)
> 4) cd /usr/ports/databases/postgresql-contrib
> 5) make && make install
> 6) /usr/local/etc/rc.d/010.pgsql.sh initdb
> 7) /usr/local/etc/rc.d/010.pgsql.sh start
>
> Now if your ports tree is out of date (or even if not) you may want to
> do the following instead:
>
> 1) pkg_add -r postgresql80-server
> 2) pkg_add -r postgresql-contrib
>
> Then continue with steps 6 and 7 above. You can verify the package
> installation via pkg_info. Also, you may need to build (via ports) or
> add (via pkg_add) postgresql80-client.
>
> HTH
>
> Sven
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: explain analyze is your friend
>


Re: Restoring Database created on windows on FreeBSD

From
postgresql@bryden.co.za
Date:
Hi Sven

Thanks for the help. This looks like the kind of info I needed.
One question:
You suggest that I use : pkg_add -r postgresql80-server. If this requires
postgresql80-client, will it automatically download it and install? The
docs I have read suggest this, but maybe you can confirm?

Thanks
Craig

> On Wed, 2005-10-19 at 08:23 +0200, postgresql@bryden.co.za wrote:
>> Hi
>>
>> I am very new to FreeBSD (Windows Background), but am busy trying to
>> implement a PostgreSQL database that I have running in the Windows
>> environemtn on FreeBSD. Naturally, most of my problems so far have been
>> geeting to grips with FreeBSD.
>>
>> Anyway, I am having a problem at the moment. Having being previously
>> spoilt with the ease of installation on windows, I am sure that I have
>> missed the boat on something.
>
> Freebsd ports is an amazingly easy way to install software.
>
>
>> I downloaded the latest port for PostgreSQL-8.0.4 from postgresql.org.
>
> the postgresq website does not have Freebsd ports ... just source code
> from what I can see.
>
>> I
>> followed the instructions in the documentation and all seemed to work. I
>> have successfully created "test" databases and have happily managed to
>> connect to the new PostgreSQL server using psql and pgAdmin III(on
>> windows). I have now backed up my DB from windows and have created a new
>> database on the BSD server. When restoring this DB I got a lot of errors
>> related to some of the system installed functions. I then realised that
>> the PostgreSQL installation on FreeBSD did not install any of the
>> contrib
>> modules. I went to the /contrib folder in the port I used to to install
>> postgreSQL (/usr/ports/database/postgresql-8.0.4/contrib). I excluded
>> /cube and /mysql from the MakeFile (cube seemed to be failing and why
>> would I want mysql stuff on PostgreSQL?). I then did a gmake install.
>> All
>> contribs seemed to install fine. I reran the restore on a clean DB and
>> most of the errors went away, but I am still getting errors all related
>> to
>> system functions looking for '$libdir/admin'.
>>
>> Does anyone know what I could have missed here?
>
> It looks like you built from source rather that using the FreeBSD ports
> system. Assuming you have a fresh FreeBSD install one would do the
> following to achieve your desired end goal.
>
> 1) cd /usr/ports/databases/postgresql80-server
> 2) make && make install
> 3) pay attention to the notes at the end about tuning your kernel for
> shared memory usage (if you plan on having lots of connections)
> 4) cd /usr/ports/databases/postgresql-contrib
> 5) make && make install
> 6) /usr/local/etc/rc.d/010.pgsql.sh initdb
> 7) /usr/local/etc/rc.d/010.pgsql.sh start
>
> Now if your ports tree is out of date (or even if not) you may want to
> do the following instead:
>
> 1) pkg_add -r postgresql80-server
> 2) pkg_add -r postgresql-contrib
>
> Then continue with steps 6 and 7 above. You can verify the package
> installation via pkg_info. Also, you may need to build (via ports) or
> add (via pkg_add) postgresql80-client.
>
> HTH
>
> Sven
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: explain analyze is your friend
>


Re: Restoring Database created on windows on FreeBSD

From
Sven Willenberger
Date:
On Wed, 2005-10-19 at 15:55 +0200, postgresql@bryden.co.za wrote:
> Hi Sven
>
> Thanks for the help. This looks like the kind of info I needed.
> One question:
> You suggest that I use : pkg_add -r postgresql80-server. If this requires
> postgresql80-client, will it automatically download it and install? The
> docs I have read suggest this, but maybe you can confirm?
>
> Thanks
> Craig
>

<please don't top-post as it kills thread continuity>

More than likely it is the other way around. If you pkg_add -r
postgresql80-client it will retrieve and install the server package as
well (it looks for any dependencies a package may have).

Sven