Обсуждение:
Hello,all.
I have installed the postgresql .
$/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
LOG:database system was shut down at 2011-11-10 15:36:14 CST
LOG:database system is ready to accept connections
LOG:autovacuum launcher started
but when I want to connect to the server at another terminal
$/usr/local/pgsql/bin/createdb mydb
createdb:could nto connect to database postgres:could not connect to server:No such file or directory
Is the server running locally and accepting connections on Unix domain socket"/var/run/postgresql/.s.PGSQL.5432"?
$/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
FATAL:lock file "postmaster.pid"already exists
HINT: Is another postmaster(PID 1950)running in data directory "/usr/local/pgsql/data"?
I don't know how to slove this problem,I wish you can tell me the reason.Thanks .
On Thu, Nov 10, 2011 at 1:24 PM, daflmx <daflmx@qq.com> wrote:
Hello,all.I have installed the postgresql .$/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/dataLOG:database system was shut down at 2011-11-10 15:36:14 CSTLOG:database system is ready to accept connectionsLOG:autovacuum launcher started
To start/stop use pg_ctl utility which has good options.
Eg:-
$/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data start
$/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data stop
but when I want to connect to the server at another terminal$/usr/local/pgsql/bin/createdb mydbcreatedb:could nto connect to database postgres:could not connect to server:No such file or directoryIs the server running locally and accepting connections on Unix domain socket"/var/run/postgresql/.s.PGSQL.5432"?
I don't think you are trying to connect to the database, however you are creating the database in a cluster.
For connection you need to use below command:-
Eg:-
$/usr/local/pgsql/bin/psql -U postgres -p 5432 -d postgres
$/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/dataFATAL:lock file "postmaster.pid"already existsHINT: Is another postmaster(PID 1950)running in data directory "/usr/local/pgsql/data"?
This tell you cluster is already up and running and ready to accept connections.
You can know the status of cluster whether running or not by below command.
Eg:-
$/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data status.
---
"=?ISO-8859-1?B?ZGFmbG14?=" <daflmx@qq.com> writes: > [ server is running but ] > $/usr/local/pgsql/bin/createdb mydb > createdb:could nto connect to database postgres:could not connect to server:No such file or directory > Is the server running locally and accepting connections on Unix domain socket"/var/run/postgresql/.s.PGSQL.5432"? That last line shows that psql (or more specifically, the libpq.so shared library) thinks it should connect to a local socket file at /var/run/postgresql/.s.PGSQL.5432. However, the common location for Postgres' local socket file is /tmp/.s.PGSQL.5432. I suspect if you look in /tmp, you'll find that the server did create a socket file there. In short: this problem occurs because you have a postmaster built one way and a client library built for a different convention. You could force things with the -h switch to psql, but it would be more convenient to be using postmaster and client library from the same distribution. regards, tom lane
On 11/09/11 11:54 PM, daflmx wrote: > I have installed the postgresql . > $/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data > ..... What version of postgres? What installation method? (compile from source? install prebuilt binary from where?) What operating system version and distribution? -- john r pierce N 37, W 122 santa cruz ca mid-left coast