Thread: who can help me?
Hi, all hackers, I can startup database using command "/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data". But when I debug it using gdb and set args -D /usr/local/pgsql/data, it can't startup database. it says; FATAL: Database "postgres" does not exist in the system catalog. Is there any difference between them? Thanks a lot. Jinqiang Han
gdb doesn't like dealing with arguments (for me anyway). Try setting the data directory via the PGDATA environment variable. On Mon, 2003-03-17 at 04:35, Jinqiang Han wrote: > Hi, all hackers, > I can startup database using command "/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data". > But when I debug it using gdb and set args -D /usr/local/pgsql/data, it can't startup database. it says; > FATAL: Database "postgres" does not exist in the system catalog. > > Is there any difference between them? > > Thanks a lot. > > Jinqiang Han > > > > > > ---------------------------(end of broadcast)--------------------------- > TIP 2: you can get off all lists at once with the unregister command > (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) -- Rod Taylor <rbt@rbt.ca> PGP Key: http://www.rbt.ca/rbtpub.asc
On Mon, Mar 17, 2003 at 17:35:10 +0800, Jinqiang Han <postgresql@db.pku.edu.cn> wrote: > Hi, all hackers, > I can startup database using command "/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data". > But when I debug it using gdb and set args -D /usr/local/pgsql/data, it can't startup database. it says; > FATAL: Database "postgres" does not exist in the system catalog. > > Is there any difference between them? I think postmaster checks what its name is (from argv[0]) and runs differently depending on what it is. If there is an option to gdb to set arg 0, try using it to set it to postmaster.
On Tue, Mar 18, 2003 at 09:02:51 +0800, Jinqiang Han <postgresql@db.pku.edu.cn> wrote: > Bruno Wolff III, > > Did you notice that postmaster is a link to postgres. So argv[0] is postgres not postmaster... > I wonder if postmaster.c is still in use. It is really weird. argv[0] gets set from what you use for a command, not what the actual hard link name of the file is.