Обсуждение: setting Postgres client
My message didn't get through the 1st time.
-----Original Message-----
From: Markova, Nina
Sent: September 17, 2008 17:33
To: pgsql-general@postgresql.org
Subject: Help on setting Postgres client
I have setup a Postgres server (8.2.4) on Solaris 10, for now in the
global zone, with FS :
/pg_db
/pg_log
/pg_data
Now I need to set up a client in a non-global zone on the same machine
or on anoter machine.
Not much luck so far.
What I did:
===========
- on the server in $PGDATA/pg_hub.conf I added a line for the client
host all all 192.XXX.XX.XXX trust
- On the client I tried:
psql sta
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
In my understanding:
- the data and the log file should exist on the server only.
- I should have postgres configuration file somewhere on the client to
at least specify Postgres server ip (PGHOSTTADDR and/or PGHOST), or this
should be set different way?
Questions:
==========
- where to find steps for setting up postgres client?
- what directories and files should I have on the client side?
- should I have local log file on the client?
- how to start postgres on the client - should I specify $PGDATA?
- Should $PGDATA be shared, i.e. mounted by the client, or I have choice
not to? I actually prefer not to be mounted.
- I read that for the client side I should have only 2 of the packages -
SUNWpostgr-libs and SUNWpostgr. All 24 packges for postgres are there -
should I remove the rest?
- where to specify PGHOSTTADDR and/or PGHOST?
Thanks in advance,
Nina
Any practical advices
"Markova, Nina" <nmarkova@NRCan.gc.ca> wrote: > > - On the client I tried: > psql sta > psql: could not connect to server: No such file or directory > Is the server running locally and accepting > connections on Unix domain socket "/tmp/.s.PGSQL.5432"? The client tries to connect to the unix domain socket by default (as can be seen by the error message) If your client system and server don't share the same /tmp filesystem, then that is going to fail, which is expected. Either specify the IP address/hostname you want to connect to with -h or put options in your .psqlrc file or set appropriate environment variables. More details here: http://www.postgresql.org/docs/8.2/static/app-psql.html -- Bill Moran Collaborative Fusion Inc. wmoran@collaborativefusion.com Phone: 412-422-3463x4023
Thanks Richard.
I specified the host IP ( I use the default 5432 port), got error:
psql: could not connect to server: Connection refused
Is the server running on host "192.168.XX.XXX" and accepting
TCP/IP connections on port 5432?
The only tcp lines in my postgres.conf are
#tcp_keepalives_idle = 0 # TCP_KEEPIDLE, in seconds;
# 0 selects the system default
#tcp_keepalives_interval = 0 # TCP_KEEPINTVL, in seconds;
# 0 selects the system default
#tcp_keepalives_count = 0 # TCP_KEEPCNT;
# 0 selects the system default
Should I change something here?
Nina
-----Original Message-----
From: Richard Huxton [mailto:dev@archonet.com]
Sent: September 19, 2008 10:15
To: Markova, Nina
Subject: Re: [GENERAL] setting Postgres client
Markova, Nina wrote:
> Now I need to set up a client in a non-global zone on the same machine
> or on anoter machine.
> Not much luck so far.
>
>
> What I did:
> ===========
> - on the server in $PGDATA/pg_hub.conf I added a line for the client
> host all all 192.XXX.XX.XXX trust
>
> - On the client I tried:
> psql sta
> psql: could not connect to server: No such file or directory
> Is the server running locally and accepting
> connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
>
>
> In my understanding:
> - the data and the log file should exist on the server only.
> - I should have postgres configuration file somewhere on the client to
> at least specify Postgres server ip (PGHOSTTADDR and/or PGHOST), or
> this should be set different way?
You can provide a hostname on the command-line too "psql -h 192.168.1.2"
, in an environment variable or in a "connection service file". Without
that, it defaults to trying to connect by unix domain sockets (on unix)
which I'm guessing doesn't work because your server is in a different
zone. Try an explicit IP address, as above.
> Questions:
> ==========
> - where to find steps for setting up postgres client?
If it runs, it's set up.
> - what directories and files should I have on the client side?
none
> - should I have local log file on the client?
No. Well, you get a .psql_history file if you have readline enabled.
> - how to start postgres on the client - should I specify $PGDATA?
No
> - Should $PGDATA be shared, i.e. mounted by the client, or I have
> choice not to? I actually prefer not to be mounted.
No
> - I read that for the client side I should have only 2 of the packages
> - SUNWpostgr-libs and SUNWpostgr. All 24 packges for postgres are
> there - should I remove the rest?
Can't help sorry.
> - where to specify PGHOSTTADDR and/or PGHOST?
You can do it in your shell profile on a per-user basis, or for the
whole machine. I tend to do it no the command-line or in an shell alias
myself though.
--
Richard Huxton
Archonet Ltd
Markova, Nina wrote: > > Thanks Richard. > > > I specified the host IP ( I use the default 5432 port), got error: > psql: could not connect to server: Connection refused > Is the server running on host "192.168.XX.XXX" and accepting > TCP/IP connections on port 5432? > > The only tcp lines in my postgres.conf are > #tcp_keepalives_idle = 0 # TCP_KEEPIDLE, in seconds; > # 0 selects the system default > #tcp_keepalives_interval = 0 # TCP_KEEPINTVL, in seconds; > # 0 selects the system default > #tcp_keepalives_count = 0 # TCP_KEEPCNT; > # 0 selects the system default > Should I change something here? > > Nina > > -----Original Message----- > From: Richard Huxton [mailto:dev@archonet.com] > Sent: September 19, 2008 10:15 > To: Markova, Nina > Subject: Re: [GENERAL] setting Postgres client > > Markova, Nina wrote: > >>Now I need to set up a client in a non-global zone on the same machine > > >>or on anoter machine. >>Not much luck so far. >> >> >>What I did: >>=========== >>- on the server in $PGDATA/pg_hub.conf I added a line for the client >>host all all 192.XXX.XX.XXX trust >> >>- On the client I tried: >>psql sta >>psql: could not connect to server: No such file or directory >> Is the server running locally and accepting >> connections on Unix domain socket "/tmp/.s.PGSQL.5432"? >> >> >>In my understanding: >>- the data and the log file should exist on the server only. >>- I should have postgres configuration file somewhere on the client to > > >>at least specify Postgres server ip (PGHOSTTADDR and/or PGHOST), or >>this should be set different way? > > > You can provide a hostname on the command-line too "psql -h 192.168.1.2" > , in an environment variable or in a "connection service file". Without > that, it defaults to trying to connect by unix domain sockets (on unix) > which I'm guessing doesn't work because your server is in a different > zone. Try an explicit IP address, as above. > > >>Questions: >>========== >>- where to find steps for setting up postgres client? > > > If it runs, it's set up. > > >>- what directories and files should I have on the client side? > > > none > > >>- should I have local log file on the client? > > > No. Well, you get a .psql_history file if you have readline enabled. > > >>- how to start postgres on the client - should I specify $PGDATA? > > > No > > >>- Should $PGDATA be shared, i.e. mounted by the client, or I have >>choice not to? I actually prefer not to be mounted. > > > No > > >>- I read that for the client side I should have only 2 of the packages > > >>- SUNWpostgr-libs and SUNWpostgr. All 24 packges for postgres are >>there - should I remove the rest? > > > Can't help sorry. > > >>- where to specify PGHOSTTADDR and/or PGHOST? > > > You can do it in your shell profile on a per-user basis, or for the > whole machine. I tend to do it no the command-line or in an shell alias > myself though. > > -- > Richard Huxton > Archonport = 5432 et Ltd > port = 5432
Markova, Nina wrote: > > Thanks Richard. > > > I specified the host IP ( I use the default 5432 port), got error: > psql: could not connect to server: Connection refused > Is the server running on host "192.168.XX.XXX" and accepting > TCP/IP connections on port 5432? > > The only tcp lines in my postgres.conf are > #tcp_keepalives_idle = 0 # TCP_KEEPIDLE, in seconds; > # 0 selects the system default > #tcp_keepalives_interval = 0 # TCP_KEEPINTVL, in seconds; > # 0 selects the system default > #tcp_keepalives_count = 0 # TCP_KEEPCNT; > # 0 selects the system default > Should I change something here? Check "listen_addresses" and "port" look OK. You're probably only listening to localhost. You can test by telnet-ing to port 5432 or using lsof / netstat to see what connections you have open in that zone. -- Richard Huxton Archonet Ltd
YES! Done - my listen addresses was the default. Thanks Richard! Nina -----Original Message----- From: Richard Huxton [mailto:dev@archonet.com] Sent: September 19, 2008 11:57 To: Markova, Nina Cc: pgsql-general@postgresql.org Subject: Re: [GENERAL] setting Postgres client Markova, Nina wrote: > > Thanks Richard. > > > I specified the host IP ( I use the default 5432 port), got error: > psql: could not connect to server: Connection refused > Is the server running on host "192.168.XX.XXX" and accepting > TCP/IP connections on port 5432? > > The only tcp lines in my postgres.conf are > #tcp_keepalives_idle = 0 # TCP_KEEPIDLE, in seconds; > # 0 selects the system default > #tcp_keepalives_interval = 0 # TCP_KEEPINTVL, in seconds; > # 0 selects the system default > #tcp_keepalives_count = 0 # TCP_KEEPCNT; > # 0 selects the system default > Should I change something here? Check "listen_addresses" and "port" look OK. You're probably only listening to localhost. You can test by telnet-ing to port 5432 or using lsof / netstat to see what connections you have open in that zone. -- Richard Huxton Archonet Ltd