Обсуждение: Hi,
Hi, I am a new user testing this open-source database and I have a few questions. I was able to install PostgreSQL version 8.1.3 on Linux version 9 using the simple install script provided. I created a simple database and populated the database with some data. The inserts, select, delete, drop, etc. commands work great. So I was testing the back up process and ran into a few problems. When I ran the pg_dump it said my pg_dump version was outdated and that I need to use the option -i. When I did I get "pg_dump: server version: 8.1.3; pg_dump version: 7.4.8" 1 Why are the version different? I have no other installs of this product. The dump also failed with this error: Error message from server: ERROR: column "datpath" does not exist The commend was: SELECT (SELECT username FROM pg_user WHERE usesysid = datdba) as dba, pg_encoding_to_char(encoding) as encoding, datpath FROM pg_database WHERE datname = "test" 2 There is no reference to what "datpath" is? Can some one explain what it is, used for, and what to set it to? Brian
"Brian Kitzberger" <KITZBERGERB@mail.co.stanislaus.ca.us> writes:
> When I did I get "pg_dump: server version: 8.1.3; pg_dump version:
> 7.4.8"
Apparently you already had a 7.4.8 postgres installed on your machine.
Most versions of Linux do have PG in them. You probably want to remove
the 7.4.8 files to avoid confusion like this.
> The dump also failed with this error:
> Error message from server: ERROR: column "datpath" does not exist
That's because that version of pg_dump is too old to understand the 8.1
server's catalog layout. There's a good reason why it refused to dump
from a newer server by default; it knows it probably ain't gonna work.
regards, tom lane
Hi Tom,
I decided to test your theory that I had an old version of Postgres on
my system when I installed version 8.1.3. By the way, the Linux install
we a fresh one to start with. So this morning I first did a search on
my system for all pg_dump files, and wrote the locations down. I them
removed the entire file structure of postgresql-8.1.3 from my system. I
then did a system search for pg_dump again to confirm that all files by
the name of pg_dump were removed, which they were. I then re-installed
PostgreSQL version 8.1.3. After completing, I did a system search for
the pg_dump again and found them in the locations I expected. I them
recreated my database and tested the pg_dump. I got the same error.
Version mismatch with the same version numbers as before. I think that
an old version of pg_dump is bundled up with the install of version
8.1.3. How can I get the correct version of pg_dump? Or any of the
other files that are not the correct version?
Brian
>>> Tom Lane <tgl@sss.pgh.pa.us> 3/22/2006 2:38 PM >>>
"Brian Kitzberger" <KITZBERGERB@mail.co.stanislaus.ca.us> writes:
> When I did I get "pg_dump: server version: 8.1.3; pg_dump version:
> 7.4.8"
Apparently you already had a 7.4.8 postgres installed on your machine.
Most versions of Linux do have PG in them. You probably want to
remove
the 7.4.8 files to avoid confusion like this.
> The dump also failed with this error:
> Error message from server: ERROR: column "datpath" does not exist
That's because that version of pg_dump is too old to understand the
8.1
server's catalog layout. There's a good reason why it refused to dump
from a newer server by default; it knows it probably ain't gonna work.
regards, tom lane
---------------------------(end of
broadcast)---------------------------
TIP 6: explain analyze is your friend
Brian Kitzberger wrote: > Hi Tom, > > I decided to test your theory that I had an old version of Postgres on > my system when I installed version 8.1.3. By the way, the Linux install > we a fresh one to start with. So this morning I first did a search on > my system for all pg_dump files, and wrote the locations down. I them > removed the entire file structure of postgresql-8.1.3 from my system. I > then did a system search for pg_dump again to confirm that all files by > the name of pg_dump were removed, which they were. I then re-installed > PostgreSQL version 8.1.3. After completing, I did a system search for > the pg_dump again and found them in the locations I expected. I them > recreated my database and tested the pg_dump. I got the same error. > Version mismatch with the same version numbers as before. I think that > an old version of pg_dump is bundled up with the install of version > 8.1.3. How can I get the correct version of pg_dump? Or any of the > other files that are not the correct version? What is the result of the following: pg_dump --version pg_dumpall --version psql --version which pg_dump which pg_dumpall which psql What method did you use to search for files? Cheers, Steve
On Thu, 2006-03-23 at 13:03, Brian Kitzberger wrote: > Hi Tom, > > I decided to test your theory that I had an old version of Postgres on > my system when I installed version 8.1.3. By the way, the Linux install > we a fresh one to start with. So this morning I first did a search on OK, assuming you're on a package based system (I seem to remember seeing redhat earlier) you check to see if something is installed or not is with RPM. try this: rpm -qa | grep -i postgres and see what you get.