This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
how_to:vpop3db_postgresql_service_not_starting [2014/04/07 11:16] – external edit 127.0.0.1 | how_to:vpop3db_postgresql_service_not_starting [2015/11/27 17:30] – [no pg_hba.conf entry for host ::1, user vpop3, database vpop3] paul | ||
---|---|---|---|
Line 1: | Line 1: | ||
======VPOP3DB Service not starting====== | ======VPOP3DB Service not starting====== | ||
VPOP3DB is the current name of the VPOP3 instance of PostgreSQL. Earlier versions of VPOP3 used the name ' | VPOP3DB is the current name of the VPOP3 instance of PostgreSQL. Earlier versions of VPOP3 used the name ' | ||
+ | |||
+ | * [[1069 - Login Failure - error when starting VPOP3DB service]] | ||
+ | * [[Timeout while VPOP3DB is starting]] | ||
If the PostgreSQL service doesn' | If the PostgreSQL service doesn' | ||
* Look in the Windows // | * Look in the Windows // | ||
- | * Look in the VPOP3\pgsql\data\pg_log folder for a log file created at the time when you started VPOP3. If that is there, you can read that (using Notepad) and see if it reports any problems with files or ' | + | * Look in the VPOP3\pgsql\data\pg_log folder for a log file created at the time when you started VPOP3. If that is there, you can read that (using Notepad) and see if it reports any problems with files or ' |
- | + | * Check the Processes list (for all users) in Windows' | |
- | You can also try starting the PostgreSQL service manually: | + | |
- | + | ||
- | * For VPOP3 v3 and v4, from a command prompt, run "runas / | + | |
- | * For VPOP3 v5 and later, from a command prompt, run "runas /user:vpop3postgres | + | |
- | + | ||
- | Then | + | |
- | c: | + | |
- | cd \vpop3\pgsql\bin | + | |
- | pg_ctl -D " | + | |
- | + | ||
- | (If your VPOP3 is installed in a different directory, change the above paths as appropriate) | + | |
- | + | ||
- | See what response you get to the pg_ctl command | + | |
=====Event Viewer Entries===== | =====Event Viewer Entries===== | ||
Line 60: | Line 50: | ||
====no pg_hba.conf entry for host ":: | ====no pg_hba.conf entry for host ":: | ||
+ | ====no pg_hba.conf entry for host ":: | ||
This usually happens if the PC where VPOP3 is installed used to only have IPv4 installed, and has now had IPv6 added. The PostgreSQL configuration needs altering to support IPv6. | This usually happens if the PC where VPOP3 is installed used to only have IPv4 installed, and has now had IPv6 added. The PostgreSQL configuration needs altering to support IPv6. | ||
Line 88: | Line 79: | ||
In some cases the last two lines may not exist, in which case you can simply copy those lines from the example above and paste them into your pg_hba.conf file | In some cases the last two lines may not exist, in which case you can simply copy those lines from the example above and paste them into your pg_hba.conf file | ||
- | You will then need to restart the PostgreSQL service in Windows. Note that sometimes PostgreSQL cannot close down properly, and there will be unwanted ' | + | You will then need to restart the VPOP3DB/PostgreSQL service in Windows. Note that sometimes PostgreSQL cannot close down properly, and there will be unwanted ' |
+ | |||
+ | ====Shared memory problems==== | ||
+ | The VPOP3 installer attempts to configure the database server to sensible defaults for the computer on which VPOP3 is running. Sometimes this may be wrong because of changes to the server configuration or other things. Most of the settings the installer could get wrong will not usually cause serious problems, but if the installer has overestimated the amount of memory available, then this could cause the VPOP3DB service to fail to start. | ||
+ | |||
+ | To check, this look in the '' | ||
+ | |||
+ | shared_buffers=1024MB | ||
+ | |||
+ | This tells the database service how much memory it can use for its built-in cache. If this number is too high, so that Windows cannot give this amount of memory to the database server, then the VPOP3DB service will not start. | ||
+ | |||
+ | You can decrease the value, eg to '' | ||
+ | |||
+ | Since the VPOP3 installation of the PostgreSQL database server is a 32 bit version, you should not increase the value of this over 1024MB, even if the computer has much more memory available. PostgreSQL takes advantage of Windows' | ||
+ | |||
+ | Do not set this value below about 32MB. The bigger it is, the faster the database server will be able to run, up to a maximum of about 1024MB. For computers with sufficient RAM (memory), then about 1/4 of the available RAM is a good starting point (within the above limits) - eg if the PC has 2GB of RAM, then 512MB is a sensible starting point. | ||
+ | |||
+ | Increasing this so much that other programs start paging to disk will be counter-productive, | ||
+ | |||
+ | =====Other things to try===== | ||
+ | |||
+ | ===Start service manually=== | ||
+ | You can also try starting the PostgreSQL service manually: | ||
+ | |||
+ | * For VPOP3 v3 and v4, from a command prompt, run "runas / | ||
+ | * For VPOP3 v5 and later, from a command prompt, run "runas / | ||
+ | |||
+ | Then | ||
+ | c: | ||
+ | cd \vpop3\pgsql\bin | ||
+ | pg_ctl -D " | ||
+ | |||
+ | (If your VPOP3 is installed in a different directory, change the above paths as appropriate) | ||
+ | |||
+ | See what response you get to the pg_ctl command | ||
+ | |||
+ | ===Change Service user to ' | ||
+ | Occasionally it won't start anyway. In this case, changing the VPOP3DB service Logon user to //Local System Account// will solve the problem (make sure that //Allow service to interact with desktop// is not checked). | ||
+ | |||
+ | {{: | ||
+ | |||
+ | It is not installed this way by default because the ' | ||
+ | |||
+ | ===Reinstall PostgreSQL program files=== | ||
+ | It isn't unknown for a virus scanner or Internet security program (or a ' | ||
+ | |||
+ | In this case, in v6 or later you can manually replace all the PostgreSQL program files without having to reinstall or lose data. To do this, go to a command prompt in the VPOP3 installation directory and run: | ||
+ | |||
+ | bsdtar -xvf pgsql.tbz | ||
+ | |||
+ | That should overwrite all the PostgreSQL program files/ |