could not start pgAgent due to log on failure - postgresql

I wanted to install pgAgent service on windows. Though it installs alright using the following command:
C:\Program Files (x86)\pgAdmin III\1.14>pgagent.exe INSTALL pgAgent -l2 -u postgres hostaddr=localhost port=5432 dbname=postgres user=postgres
the service does not start giving an error: Windows could not start pgAgent service on the local computer. Error 1069: The service did not start due to a logon failure.
The password is being provided using pgpass.conf file. The same password is being used by pgAdmin to logon to databases.
I have even tried by providing same password (as pgpass.conf) using -p option on the command line itself. It did not work either but error is different. On command line it says service could not be started. Service reported no error . However when I see logs in Control Panel/EventViewer following warning is shown:
Couldn't create the primary connection (attempt 10): fe_sendauth: no password supplied
and then an error:
Stopping pgAgent: Couldn't establish the primary connection with the database server.
If it could help, I downloaded pgAgent separately and placed pgAgent.exe in pgAdmin III/1.14 folder where libpq.dll also resides. I am using PostgreSQL 9.0, pgAdmin 1.14 and pgAgent 3.0.0
Can somebody please help me with this?

Go to pgAgent installation folder on windows and execute
C:\Program Files (x86)\pgAgent\bin>pgagent REMOVE pgAgent
This will remove the existing misconfigured windows service
then reinstall the service in the following way giving the password credentials properly. The first -u gives the postgres user created on windows and the second username in the connection string is the db username.
After doing the below start the service and check the Event Viewer if you still see the error.
C:\Program Files (x86)\pgAgent\bin>pgagent --help
Usage:
pgagent REMOVE <serviceName>
pgagent INSTALL <serviceName> [options] <connect-string>
pgagent DEBUG [options] <connect-string>
options:
-u <user or DOMAIN\user>
-p <password>
-d <displayname>
-t <poll time interval in seconds (default 10)>
-r <retry period after connection abort in seconds (>=10, default 30)>
-l <logging verbosity (ERROR=0, WARNING=1, DEBUG=2, default 0)>
C:\Program Files (x86)\pgAgent\bin>pgagent INSTALL pgAgent -u postgres -p admin
-l 2 hostaddr=127.0.0.1 port=5433 user=postgres dbname=first password=admin

ok guys, i am able to solve the issue, by reinstalling PostgreSQL and then installing pgAgent with StackBuilder.

Related

How can I install pgAgent for PostgreSQL 9.5 on Windows?

Everything I see about pgAgent says that it can be installed using the StackBuilder wizard that runs after installing PostgreSQL. But the StackBuilder wizards I have do not include pgAgent. How can I get pgAgent?
A screenshot of my StackBuilder dialog box showing the lack of pgAgent can be found here: https://imgur.com/PTopsAA
I think it can't be possible, 9.5 is dead (EOL). but the binaries still can be downloaded from EDB ( https://www.enterprisedb.com/downloads/postgres-postgresql-downloads )
NOTE: pgAgent is available in Debian/Ubuntu (DEB) and Redhat/Fedora
(RPM) packages for Linux users, as well as source code
In the official doc says how: https://www.pgadmin.org/docs/pgadmin4/latest/pgagent_install.html#service-installation-on-windows
Service installation on Windows
pgAgent can install itself as a service on Windows systems. The command line options available are similar to those on Unix systems, but include an additional parameter to tell the service what to do:
Usage:
pgAgent REMOVE <serviceName>
pgAgent INSTALL <serviceName> [options] <connect-string>
pgAgent DEBUG [options] <connect-string>
options:
-u <user or DOMAIN\user>
-p <password>
-d <displayname>
-t <poll time interval in seconds (default 10)>
-r <retry period after connection abort in seconds (>=10, default 30)>
-l <logging verbosity (ERROR=0, WARNING=1, DEBUG=2, default 0)>
The service may be quite simply installed from the command line as follows (adjust the path as required):
"C:\Program Files\pgAgent\bin\pgAgent" INSTALL pgAgent -u postgres -p secret hostaddr=127.0.0.1 dbname=postgres user=postgres
You can then start the service at the command line using net start pgAgent, or from the Services control panel applet. Any logging output or errors will be reported in the Application event log. The DEBUG mode may be used to run pgAgent from a command prompt. When run this way, log messages will output to the command window.

PostgreSQL server fails to start on ArchLinux: FATAL: could not create lockfile »/run/postgresql/.s.PGSQL.5432.lock«

I am quite new in Arch and a total beginner in PostgreSQL, so this may be a very basic question.
I installed postgresql 11.5-4 from extra and pgadmin 4 from AUR, both seem to be running well.
I created a test DB with the following command:
initdb -D /home/lg/test-db
I got the answer:
You can start the db-server using:
pg_ctl -D /home/lg/test-db -l logdatei start
I tried that and got:
pg_ctl -D /home/lg/test-db -l logdatei start
waiting for serer to start.... stopped
pg_ctl: could not start the server
check the log.
The log only says that the lockfile »/run/postgresql/.s.PGSQL.5432.lock« could not be created, because the folder could not be found. Under /run is no folder called "postgresql". I suppose postgresql can not create this folder, because it does not have the permission. Several posts online posts suggest to change the user/owner of the db to sudo, however. Postgresql prevents this, however. When I try any command as sudo, postgresql tells me that this command can't be run as root. There must be some very basic error in my thinking here, but I have not worked it out for 3 hours.
You'll have to remove /run/postgresql from unix_socket_directories in postgresql.conf before starting the server.
Probably You have /var/run symlinked to /run and run is on tmpfs. You should add something like d /run/postgresql 0755 postgres postgres - into /usr/lib/tmpfiles.d/postgresql.conf

Installing postgresql on CentOS 5.5 postgresql-setup initdb command not found error

I was following these steps to install postgresql and then odoo v9 :
https://www.odoo.com/documentation/9.0/setup/install.html
Basically it follows these steps outlined here:
https://www.odoo.com/forum/help-1/question/issue-while-installing-following-the-instructions-for-packaged-installers-rpm-93756
I get exactly the same situation. The first steps go through without issue but then the postgresql-setup initdb command cannot be found.
I have root access to the server and I know it's running centOS5.5. How can I troubleshoot this? I believe I installed the 9.4 version but when I do psql -V I get the server has v8.3.
I ran some commands on the server and here are the results:
postgresql-setup initdb
command cannot be found
postgres
root execution is not permitted, server must be restarted as underprivileged id...
initdb
no data directory specified, you must identify dir where datase system will reside
locate postgresql
i get an .rb, .xml and .yml files
locate psql
/usr/lib64 - a few libodbcpsql.so files
pqsl -V
8.1.23
I get command not found for all other commands in the list of commands to install odoo up until sudo yum config manager --add-repo etc...
sudo su postgres -c "psql -c 'show data_directory'"
could not change directory to 'the directory im currently in on my server'

After installing postgres 9.4 on fedora 20, couldn't launch psql

I have installed postgres 9.4 on fedora 20.
i have followed the steps through the link below
https://wiki.postgresql.org/wiki/YUM_Installation
I have started the server using the command
service postgresql-9.4 initdb
Then I set the auto start using the command
chkconfig postgresql-9.4 on
I am able to connect with Data base server via pg admin
but I am not able to connect with postgres DB server or SQL command line via terminal
If I enter psql for postgres/or any user, it says command not found.
can any one please help me on this.
You need to go to the installation bin directory and use './ExecutableFile' to run when logged in with postgres user.
So, use ./psql when you are in bin directory.
Or you can use "export PATH=path/to/bin/" to avoid using './'

Unable to start postgresql service in Redhat linux 7

I have installed postgresql 9.4 on Redhat 7 server.It was installed through postgresql-9.4.3-1-linux-x64.run. It displayed a clear message"postgres is installed your machine". Now when I login as
su - postgres
It doesn't ask for password and goes to bash prompt. If I type psql displays "command not found". When I tried starting service through root user
service postgresql initdb
I get:
The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.
I tried start postgres restart which didn't work. I tried searching and found nothing. I know its with starting service.
service postgresql initdb
initdb is an independent command to create a new database cluster.
initdb -- create a new PostgreSQL database cluster
initdb [option...] [--pgdata | -D] directory
You must use it independent, but not as argument for service command. Read documentation how to use this command: initdb
Use service postgresql start to start postgresql service and service postgresql stop to stop it.
psql: "command not found"
Try to switch into postgres user using su postgres command (without dash). It effects on $PATH environment variable.If this wouldn't help use full path to specify the command, for example /usr/bin/psql