Databases with PostGIS need to follow a specific update procedure. You will need to follow a "hard upgrade" procedure documented here.
On your 8.4 database:
pg_dump -h localhost -p 5432 -U postgres -Fc -b -v -f "/somepath/olddb.backup" olddb
And on the 9.1 database, maybe start with these (if you haven't already done so):
createdb [yourdatabase]
psql -d [yourdatabase] -c "CREATE EXTENSION postgis;"
Then restore the data using a special postgis_restore.pl
script:
perl utils/postgis_restore.pl "/somepath/olddb.backup" | psql -h localhost -p 5432 -U postgres newdb 2> errors.txt