[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 5364
  • Last Modified:

PostgreSQL database service starts then stops in windows xp

I had no problems with PostgreSQL until my machine started freezing. To combat freezing, I disabled some services and ran a reg cleaner.  I re-enabled the needed services.

When I try to start the postgresql 8.1 service I get the following message without any errors:

"the PostgreSQL Database server 8.1 service on Local Computer Started and then stopped. Some services stop automatically if they have no work to do, for example, the Performance Logs and Alerts service."

I created new service with pg_ctl, but I get the same results as above.  What could be causing this problem. Is there anything in the registry that I should check?
0
silemone
Asked:
silemone
  • 4
  • 3
  • 2
  • +1
1 Solution
 
thewildCommented:
Can you run it from the command line ? The command should be something like :
postgres -D "<postgresql data directory>"
You should see errors here if there are any.
0
 
silemoneAuthor Commented:
When I try to start the service from the command line I get something along the lines of:

"you need to start the service from an underprivileged account"  

Since I was logged on with an account with admin privileges, I logged out and logged into the the new account I created (mentioned above).

Now when I try from command line I get: "FATAL: could not create lock file "postmaster.pid:" Permission Denied"

If I try to start the service from the services list, I get: "Could not start the postgresql8.1 service on the Local Computer.  Error 5: Access is Denied."
0
 
ivanovnCommented:
Is there anything in the log file that could point you to a problem? How about event viewer?
0
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
thewildCommented:
Seems like this account does not have the right permissions on the data folder.
Make sure this account is the owner of the data folder and its subfolders, and that it has "full control".
0
 
silemoneAuthor Commented:
Nope. There's nothing in any part of the event viewer related to this.  
Postgres is not generating an error, which is why this problem is not obvious.
When I attempt to start the service from the command line via the 'net' command, i.e., "net.exe servicename start",
I get the following:

The postgresql8.1 service is starting.
The postgresql8.1 service could not be started.

The service did not report an error.

More help is available by typing NET HELPMSG 3534.


Now when I type "Net Helpmsg 3534", I get the following:

The service did not report an error.

Help!
0
 
ivanovnCommented:
Try changing your logging properties in the postgresql.conf file to see possible errors reported by postmaster on service start.
0
 
silemoneAuthor Commented:
Logging is set to output to 'stderr'.  Is there more I should do here?


0
 
thewildCommented:
"Nope. There's nothing in any part of the event viewer related to this."

Well, FATAL: could not create lock file "postmaster.pid:" Permission Denied, this IS something related to this.
Have you checked the permissions ? Just to make sure.
Have you also tried to repair the PostgreSQL installation using the installer ? In add/remove programs, chose "modify", check that the configuration is correct ad launch the installation process.


"Logging is set to output to 'stderr'.  Is there more I should do here?"

Yes, you should also change log_min_messages to "DEBUG5", which is the highest output level.
Starting the service via "net start" will never give you precise errors, your only way to know what's happening is either the error log if you use a service or the command line errors otherwise.

Have you installed PostgreSQL using the win32 installer ?
What you could do to avoid too much debugging pain is to reinstall another instance of postgresql pointing to the same data directory.

Also check that you don't have a postmaster.pid in the data directory. If there is already one, PostgreSQL won't start.
0
 
earth man2Commented:
You need to allow the new account that you have created write access privileges to the directory where postmaster.pid is to be created ("C:\postgres" ???).   If postmaster.pid exists then delete it...
0
 
silemoneAuthor Commented:
The problem was indeed a permission problem.  The user created to start the service was did not have access to the postgres data directory.  As soon as I provide write access to the directory, it worked.
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 4
  • 3
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now