Forum OpenACS Q&A: Error: nsd.db: no such default pool: main
shut the server down, and then clear the log so I get clean, clear
readings each time.
Got it this far... tried to edit the nsd.tcl to include the pools
mentioned in the installation procedure (main, subquery, and log).
However, I don't think I've gotten them set up properly.
Is there some step I've missed for postgres for creating these pools?
Or is there a parameter I need to put into the nsd.tcl/ini to tell
AOL server where to find them and how they're configured?
Thanks for the help!
With AS 2.3 it was easy to configure something when you did not know the exact syntax of a certain parameter because we had the setup server. I used the nsd.ini I had for AS 2.3 and did some slight changes to work with AS 3 and it worked fine.
A few assumptions as to my level of experience might be made here, and as I've mentioned before, I really don't have any when it comes to postgres or ACS or AOL server. I'm learning bit by bit. If you could email a copy of a sample ini file, that would probably speed things along for me.
Again, thank you for any help!
I've put my nsd.ini available for you at my Linux Club page. I just upgraded our ACS/pg to the latest version last night and it went smoother than I thought (we were running the 2.4 alpha-alpha). I lost the news and calendar items because I didn't notice the datamodel for those tables changed, but I'll reinsert them later. Everything else is working great.
Notice that this is an .ini file for AOLserver 2.3.3, but it should mostly work for AOLserver 3b6.1. I used it at my home development server and it worked but your mileage may vary. The pools should be the same.
Let us know how it goes please.
One more thing... each pool has authenticating stuff for postgres. I removed my password for obvious reasons, so make sure you have an user created for AOLserver to use on PostgreSQL.
Here's the command I use to run Postmaster from my /etc/rc.d/init.d/postgresql script:
su -l postgres -c '/usr/local/pgsql/bin/postmaster -B 1000 -o "-S 2000" -S -D/usr/local/pgsql/data"
Note that I've installed Postgres in the normal Postgres place rather than the RH RPM place, so I've had to make other modifications to the script (you can run it from the RH RPM place, of course, but since I update frequently from the Postgres source tree it is easier for me to do things their way).
Some explanations - "-B 1000" tells it to allocate 1000 blocks of shared memory (rather than the default 64, which is way puny). I've compiled my copy of postgres with a 16K blocksize, so this is 16MB of shared memory space, i.e. the most postgres will use without a kernel recompile. If you've compiled with the default 8K blocksize, "-B 2000" will work. You needn't do this for testing, but for an active system helps a lot.
The '-o "-S 2000" ' tells each backend to use up to 2 MB (2000 x 1KB) of RAM for sorting, etc before spilling to disk.
The other "-S" (to the postmaster itself, don't confuse with the above where -o is used to pass flags to forked backends) tells it to run "silently", in the background.
-D is used to pass the path to the database which you've hopefully already run initdb on, etc, if you've followed Roberto's excellent installation instructions.
After the postmaster is running, do an su --login to the account you intend to run the ACS from, and do a "psql". If you've followed Roberto's instructions you should end up with a prompt after a couple of messages indicating that it has successfully connected with the database. Once you're certain you can connect from the account via psql, you should have no problem connecting via AOLserver.
If you run the postmaster without -i, as above, you connect via localhost, like this:
[ns/db/pool/main] Driver=postgres Connections=4 MaxOpen=1000000000 MaxIdle=1000000000 User=donb Verbose=On LogSQLErrors=On ExtendedTableInfo=On DataSource=localhost::acs(acs is the name of the database I run the acs in)
Note there's no port 5432 in the datasource.