Date: Wed, 26 May 1999 00:10:32 -0400 From: "Jim Freeze" <jim@freeze.org> To: <freebsd-questions@FreeBSD.ORG> Subject: Re: Installing and Running PostgreSQL on FreeBSD 3.1 Message-ID: <031f01bea72d$f3a50e00$5e6ec8d0@lexmark.com> References: <199905260157.UAA16630@nospam.hiwaay.net>
next in thread | previous in thread | raw e-mail | index | archive | help
> jfreeze@lexmark.com writes: > > I trying to get postgres-6.0.4 working on FreeBSD 3.1. I installed > ^^^^^ 6.4.2 ??? Yes, I was doing this from memory (still am). It was something like 6.4.2 in the directory listing and installed two upgrades to get 6.4.4 ?? > Version 6.4.2 has in ports since at least April 22. Maybe 6.4.0 was in > FreeBSD 3.1-RELEASE? I could check but its not really important other > than a 6.0 release it pretty old. > > > from the ports collection from the Walnut Creek 4 CDROM set. > > Good! That's the right way to do it. Now you might wish to pkg_delete > it and do it again using "make USE_TCL=true install" then follow up by > installing the pgaccess port. :-) Instead of `pkg_delete` should I use `make deinstall` since I used `make install` to install it? Also, what is the advantage of using TCL. I plan on using PHP3 for my main access to the databases. Or am I missing the point? > > Pgaccess is in PostgreSQL 6.4.2 but the port contains a newer version, > *and* installs pgaccess correctly. Believe the PostgreSQL port was > recently fixed to *not* install its pgaccess. > > > Why is the data directory set to drwx-------? > > Mike Smith already answered. The pgsql account does *all* of the access > to these files, therefore there is no reason for anybody else to be > able to read them. If you *really* want to get into PostgreSQL you can > create your own database files elsewhere and launch your own instances > of the front and back ends. That's not for the faint of heart. I've > never tried to do it, but the docs mention it. > > The port installs /usr/local/etc/rc.d/pgsql.sh which automatically > starts PostgreSQL on reboot. Simply execute it as root to start the > first time. Or reboot. Sure. > > > What went wrong? > > Although I have read several docs, I am a newby and am not sure what > > to expect here. > > You have to make account(s) within PostgreSQL for those you wish to > allow to access the SQL system. > What does within PostgreSQL mean. Are these user accounts not BSD user accounts. > But first, the man pages. PostgreSQL put them in /usr/local/pgsql/man. > So add that to your MANPATH so it looks something like this: > > % echo $MANPATH > /usr/share/man:/usr/X11R6/man:/usr/local/man > % setenv MANPATH ${MANPATH}:/usr/local/pgsql/man > % !e > echo $MANPATH > /usr/share/man:/usr/X11R6/man:/usr/local/man:/usr/local/pgsql/man > > While you are at it, add /usr/local/pgsql/bin to path: > > % set path=($path /usr/local/pgsql/bin) > > Naturally you'll want to put these in ~/.cshrc so you don't have to > type them every time. You could also edit /etc/manpath.conf and > /etc/csh.cshrc to apply the changes to all users without need of > changing all .cshrc files. > > Now you can read man pages. But first we'll try to create a new database > to play with: > > % createdb my_database > Connection to database 'template1' failed. > FATAL 1: SetUserId: user 'dkelly' is not in 'pg_shadow' > > createdb: database creation failed on my_database. > % su > # su -m pgsql > % id > uid=70(pgsql) gid=70(pgsql) groups=70(pgsql) > % createuser dkelly > createuser: Command not found. > > Darn it. Thought "su -m" was going to solve that problem. > > % echo $path > /home/dkelly/bin /bin /usr/bin /usr/games /usr/local/bin /usr/X11R6/bin /usr/sbin /sbin > % set path=($path /usr/local/pgsql/bin) > % createuser dkelly > Enter user's postgres ID or RETURN to use unix user ID: 928 -> > Is user "dkelly" allowed to create databases (y/n) y > Is user "dkelly" allowed to add users? (y/n) y > createuser: dkelly was successfully added > % exit > # exit > % !creat > createdb my_database > % psql my_database > Welcome to the POSTGRESQL interactive sql monitor: > Please read the file COPYRIGHT for copyright terms of POSTGRESQL > > type \? for help on slash commands > type \q to quit > type \g or terminate with semicolon to execute query > You are currently connected to the database: my_database > > my_database=> \q > % > > Will let you take over from here. You can do more to the user accounts > (such as set passwords for network access) if you "psql template1" from > the pgsql account. > Wow. Thanks for the walk through. I really appreciate it. BTW, concerning this user business. How does that apply when someone accesses the db through a web page (Apache+PHP3). Is this what is meant by network access below? > For network access you need to work on editing > /usr/local/pgsql/data/pg_hba.conf to decide who/where/how you allow > connections. > > > (A BSD admin question) > > Also, the docs seem to suggest that I need to be logged in as > > user pgsql to start the postmaster. I tried to create this user account > > but it said that it already existed. I don't remember making it, but > > if I did, how do I manually delete it and recreate it (since I don't > > know the password for that user). > > Already covered in the above example. You can set a password for pgsql, > and/or you can get there thru root as I did above. The # prompt above > indicates root. % is a non-root user. > > > -- > David Kelly N4HHE, dkelly@nospam.hiwaay.net > ===================================================================== > The human mind ordinarily operates at only ten percent of its > capacity -- the rest is overhead for the operating system. > > > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-questions" in the body of the message To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?031f01bea72d$f3a50e00$5e6ec8d0>