Hi guys,

Well, in the end the restore is working, although I ran into some non-fatal 
problems during the process. I would just like to understand what I'm not doing 
quite right. Anyway, here's what I did:

1. Dump a working ~88GB database from old server. (Built by the Tiger Geocoder 
scripts.)

pg_dump -U postgres -F c -b -f /Volumes/Extra/gc4-20111109.backup gc4

2. On new server, create database. 

        CREATE DATABASE gc4;

        (Note, I didn't create it from the template_postgis since I figured 
that spatial data is already part of the dump file -- yes? Actually, maybe I 
didn't need to or shouldn't have created the database at all? Is it not 
necessary when restoring?)

3. Restore database to new server -- which is running the same versions of OS 
(10.7.2), Postgres (9.0.5) and PostGIS (1.5.3)

Wed Nov 09 15:06:44 -- Baby-Irmo ~ :: pg_restore -U postgres -C -d gc4 
/Volumes/Extra/gc4-20111109.backup
pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 11448; 1262 921794 DATABASE 
gc4 postgres
pg_restore: [archiver (db)] could not execute query: ERROR:  database "gc4" 
already exists
    Command was: CREATE DATABASE gc4 WITH TEMPLATE = template0 ENCODING = 
'UTF8' LC_COLLATE = 'en_CA.UTF-8' LC_CTYPE = 'en_CA.UTF-8';
[ ...10 hours elapse…]
WARNING: errors ignored on restore: 1
Thu Nov 10 01:12:20 -- Baby-Irmo ~ :: 

Hmm, it complained about gc4 already existing… Anyway, after the restore, the 
new server showed 88GB in gc4. But when I ran \d+, I didn't see any tables 
except the ones I added (not part of Tiger Geocoder). 

gc4=# \l+
                                                               List of databases
       Name       |  Owner   | Encoding |  Collation  |    Ctype    |   Access 
privileges   |  Size   | Tablespace |        Description        
------------------+----------+----------+-------------+-------------+-----------------------+---------+------------+---------------------------
 gc4              | postgres | UTF8     | en_CA.UTF-8 | en_CA.UTF-8 |           
            | 88 GB   | pg_default | 
 postgres         | postgres | UTF8     | en_CA.UTF-8 | en_CA.UTF-8 |           
            | 5369 kB | pg_default | 
 template0        | postgres | UTF8     | en_CA.UTF-8 | en_CA.UTF-8 | 
=c/postgres          +| 5273 kB | pg_default | 
                  |          |          |             |             | 
postgres=CTc/postgres |         |            | 
 template1        | postgres | UTF8     | en_CA.UTF-8 | en_CA.UTF-8 | 
=c/postgres          +| 5273 kB | pg_default | default template database
                  |          |          |             |             | 
postgres=CTc/postgres |         |            | 
 template_postgis | postgres | UTF8     | en_CA.UTF-8 | en_CA.UTF-8 |           
            | 9241 kB | pg_default | 
(5 rows)


Then I ran the test query:

SELECT g.rating,        
ST_X(geomout) As lon, 
ST_Y(geomout) As lat, (addy).* 
FROM geocode('1731 New Hampshire Avenue Northwest, Washington, DC 20010', 1) As 
g;

ERROR:  function geocode(unknown, integer) does not exist at character 79
HINT:  No function matches the given name and argument types. You might need to 
add explicit type casts.
STATEMENT:      

Hmm.. I wondered if maybe the tables and functions are there, just not visible. 
So I ran:

ALTER DATABASE gc4 SET search_path=public, tiger;

Later, when I checked again, I saw the tables in the \d+ and then tried running 
the same query:

gc4=# SELECT g.rating, 
ST_X(geomout) As lon, 
ST_Y(geomout) As lat, (addy).* 
FROM geocode('1731 New Hampshire Avenue Northwest, Washington, DC 20010', 1) As 
g;
 rating |        lon        |       lat        | address | predirabbrev |  
streetname   | streettypeabbrev | postdirabbrev | internal |  location  | 
stateabbrev |  zip  | parsed 
--------+-------------------+------------------+---------+--------------+---------------+------------------+---------------+----------+------------+-------------+-------+--------
      1 | -77.0398083968318 | 38.9133648716727 |    1731 |              | New 
Hampshire | Ave              | NW            |          | Washington | DC       
   | 20009 | t
(1 row)


And it worked. Now… my question is, was my main problem the fact that I hadn't 
added the ALTER DATABASE command after restore? I didn't think I would need to, 
since the database on the old server had already been altered for search paths 
when built -- I figured that information was included in the dump.

Thanks again for entertaining these basic questions. It's just that even when I 
can get things working, I'm far more comfortable when I understand  what's 
going on.

Regards,
Rene


On 2011-11-09, at 3:20 PM, Paragon Corporation wrote:

> Another tip. for restore you want to use
> the --jobs option
> 
> e.g. 
> 
> --jobs=3
> 
> to have 3 parallel loads happening.
> 
> (forgot that in our cheatsheet)
> 
> It will do restore of several tables at once thus running faster if you have
> the processors to support.
> 
> Another reason to not bother with sql backups since you can't take advantage
> of parallel restore with sql backups.
> 
> 
> 
>> -----Original Message-----
>> From: [email protected] 
>> [mailto:[email protected]] On 
>> Behalf Of Paragon Corporation
>> Sent: Wednesday, November 09, 2011 5:07 PM
>> To: 'PostGIS Users Discussion'
>> Subject: Re: [postgis-users] Problems with backing up and 
>> restoringTiger Geocoder database
>> 
>> Rene,
>> 
>> My guess is you probably did an SQL backup instead of a 
>> compressed or tar backup.
>> 
>> I've had this issue before when backing up with pgAdmin and 
>> the reason is because it defaults to sql backup I think.  I 
>> forget what the switch is you can check our backup /restore 
>> cheatsheet for reference.
>> 
>> http://www.postgresonline.com/downloads/special_feature/postgr
>> esql90_pg_dump
>> restore_cheatsheet.pdf
>> 
>> (you want -F c -b
>> 
>> pg_restore can only be used to restore tar or compressed backups.
>> 
>> We restore the tiger data all the time to various servers so 
>> no issue there.
>> 
>> 
>> Leo and Regina
>> http://www.postgis.us
>> 
>> 
>> 
>>> -----Original Message-----
>>> From: [email protected]
>>> [mailto:[email protected]] On Behalf Of 
>>> René Fournier
>>> Sent: Wednesday, November 09, 2011 2:10 PM
>>> To: PostGIS Users Discussion
>>> Subject: [postgis-users] Problems with backing up and 
>> restoring Tiger 
>>> Geocoder database
>>> 
>>> Since building the Tiger Geocoder database from the source 
>> data is so 
>>> time-consuming, I'm trying to capture the result (the ~90GB 
>> spatially 
>>> aware database) so that I can simply restore, in case I need to 
>>> rebuild the server. Should be simple, but every time I pg_dump and 
>>> attempt to pg_restore, I get
>>> 
>>>     pg_restore: [archiver] input file does not appear to be a valid 
>>> archive
>>> 
>>> So, just wondering what I'm doing wrong? Or, put another 
>> way, what are 
>>> the steps to dump the given database and restore it to 
>> another server 
>>> running Postgresql90 and PostGIS 1.5.3? Thanks!
>>> 
>>> …Rene
>>> _______________________________________________
>>> postgis-users mailing list
>>> [email protected]
>>> http://postgis.refractions.net/mailman/listinfo/postgis-users
>>> 
>> 
>> 
>> _______________________________________________
>> postgis-users mailing list
>> [email protected]
>> http://postgis.refractions.net/mailman/listinfo/postgis-users
>> 
> 
> 
> _______________________________________________
> postgis-users mailing list
> [email protected]
> http://postgis.refractions.net/mailman/listinfo/postgis-users

_______________________________________________
postgis-users mailing list
[email protected]
http://postgis.refractions.net/mailman/listinfo/postgis-users

Reply via email to