Thanks a lot Tom, I appended the -h /tmp and it worked. I need just one more help from you. Could you tell me that why & how that socket file existed in /tmp directory. What is the practice to make sure that this file (.s.PGSQL.5432) should be inside /var/run directory ? so that it will not throw such error. Please help me. Regards, Atul On 12/1/20, Tom Lane <tgl@xxxxxxxxxxxxx> wrote: > Atul Kumar <akumar14871@xxxxxxxxx> writes: >> Just to clarify that I am at root OS user, trying to create a test user >> using postgres user(-u) with create user command. > > Given the reference to /var/run/postgresql, I'm suspecting that you > are running a server that thinks it should put its socket in /tmp, > but you have some copies of libpq on the machine that were built with > default socket location /var/run/postgresql. When you are root, you > are very likely using a different PATH that is finding a different > createuser program linked to a different libpq.so than when you are > not root. > > A possible workaround is to add "-h /tmp" to your command when > running as root. Eventually you'd want to try to not have > multiple postgres installations on the machine. > > regards, tom lane >