public inbox for [email protected]  
help / color / mirror / Atom feed
issue with reading hostname
6+ messages / 4 participants
[nested] [flat]

* issue with reading hostname
@ 2024-04-22 20:13 Atul Kumar <[email protected]>
  2024-04-22 20:25 ` Re: issue with reading hostname Adrian Klaver <[email protected]>
  2024-04-22 21:11 ` Re: issue with reading hostname Ron Johnson <[email protected]>
  2024-04-22 21:54 ` Re: issue with reading hostname David G. Johnston <[email protected]>
  0 siblings, 3 replies; 6+ messages in thread

From: Atul Kumar @ 2024-04-22 20:13 UTC (permalink / raw)
  To: pgsql-general <[email protected]>

Hi,

I have postgresql  version 15 running on centos7.

I have below query that reads hostname from /tmp directory:

psql postgres -A -t -p 5432 -h /tmp/ -c 'SELECT pg_is_in_recovery();'


so below are my questions:

1. Is the psql client reading the socket file that resides in the /tmp
directory to fetch the hostname ?

2. I saw the socket file in /tmp and it is empty. Then how is the psql
client still reading the socket file successfully for hostname ?


this is my socket looks ( the size is 0 as the file is empty):

srwxrwxrwx.  1 postgres postgres      0 Apr 22 12:47 .s.PGSQL.5432


Please help me clarify these doubts.



Regards.


^ permalink  raw  reply  [nested|flat] 6+ messages in thread

* Re: issue with reading hostname
  2024-04-22 20:13 issue with reading hostname Atul Kumar <[email protected]>
@ 2024-04-22 20:25 ` Adrian Klaver <[email protected]>
  2 siblings, 0 replies; 6+ messages in thread

From: Adrian Klaver @ 2024-04-22 20:25 UTC (permalink / raw)
  To: Atul Kumar <[email protected]>; pgsql-general <[email protected]>

On 4/22/24 13:13, Atul Kumar wrote:
> Hi,
> 
> I have postgresql  version 15 running on centos7.
> 
> I have below query that reads hostname from /tmp directory:
> 
> psql postgres -A -t -p 5432 -h /tmp/ -c 'SELECT pg_is_in_recovery();'
> 
> 
> so below are my questions:
> 
> 1. Is the psql client reading the socket file that resides in the /tmp 
> directory to fetch the hostname ?
> 
> 2. I saw the socket file in /tmp and it is empty. Then how is the psql 
> client still reading the socket file successfully for hostname ?
> 
> 
> this is my socket looks ( the size is 0 as the file is empty):
> 
> srwxrwxrwx. 1 postgres postgres      0 Apr 22 12:47 .s.PGSQL.5432
> 
> 
> Please help me clarify these doubts.

https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-PARAMKEYWORDS

"host

     Name of host to connect to. If a host name looks like an absolute 
path name, it specifies Unix-domain communication rather than TCP/IP 
communication; the value is the name of the directory in which the 
socket file is stored. (On Unix, an absolute path name begins with a 
slash. On Windows, paths starting with drive letters are also 
recognized.) If the host name starts with @, it is taken as a 
Unix-domain socket in the abstract namespace (currently supported on 
Linux and Windows). The default behavior when host is not specified, or 
is empty, is to connect to a Unix-domain socket in /tmp (or whatever 
socket directory was specified when PostgreSQL was built). On Windows, 
the default is to connect to localhost.

     A comma-separated list of host names is also accepted, in which 
case each host name in the list is tried in order; an empty item in the 
list selects the default behavior as explained above. See Section 
34.1.1.3 for details.
"

The simplistic explanation is that the socket is the "host".

> 
> 
> 
> Regards.
> 
> 
> 
> 
> 
> 

-- 
Adrian Klaver
[email protected]







^ permalink  raw  reply  [nested|flat] 6+ messages in thread

* Re: issue with reading hostname
  2024-04-22 20:13 issue with reading hostname Atul Kumar <[email protected]>
@ 2024-04-22 21:11 ` Ron Johnson <[email protected]>
  2024-04-22 21:37   ` Re: issue with reading hostname Atul Kumar <[email protected]>
  2 siblings, 1 reply; 6+ messages in thread

From: Ron Johnson @ 2024-04-22 21:11 UTC (permalink / raw)
  To: pgsql-general

On Mon, Apr 22, 2024 at 4:14 PM Atul Kumar <[email protected]> wrote:

> Hi,
>
> I have postgresql  version 15 running on centos7.
>
> I have below query that reads hostname from /tmp directory:
>
> psql postgres -A -t -p 5432 -h /tmp/ -c 'SELECT pg_is_in_recovery();'
>

If you installed from the PGDG repository (possibly also the CENTOS repos,
but I'm not sure), then the domain socket also lives in :
/var/run/postgresql

* I find that more expressive than /tmp.
* No need to specify the host when using sockets.
* Using a socket name makes parameterizing the hostname easier in scripts.


^ permalink  raw  reply  [nested|flat] 6+ messages in thread

* Re: issue with reading hostname
  2024-04-22 20:13 issue with reading hostname Atul Kumar <[email protected]>
  2024-04-22 21:11 ` Re: issue with reading hostname Ron Johnson <[email protected]>
@ 2024-04-22 21:37   ` Atul Kumar <[email protected]>
  2024-04-22 21:44     ` Re: issue with reading hostname Ron Johnson <[email protected]>
  0 siblings, 1 reply; 6+ messages in thread

From: Atul Kumar @ 2024-04-22 21:37 UTC (permalink / raw)
  To: ; +Cc: pgsql-general

Can we edit the socket to change the hostname in it ?

Regards.

On Tue, Apr 23, 2024 at 2:41 AM Ron Johnson <[email protected]> wrote:

> On Mon, Apr 22, 2024 at 4:14 PM Atul Kumar <[email protected]> wrote:
>
>> Hi,
>>
>> I have postgresql  version 15 running on centos7.
>>
>> I have below query that reads hostname from /tmp directory:
>>
>> psql postgres -A -t -p 5432 -h /tmp/ -c 'SELECT pg_is_in_recovery();'
>>
>
> If you installed from the PGDG repository (possibly also the CENTOS repos,
> but I'm not sure), then the domain socket also lives in :
> /var/run/postgresql
>
> * I find that more expressive than /tmp.
> * No need to specify the host when using sockets.
> * Using a socket name makes parameterizing the hostname easier in scripts.
>
>
>


^ permalink  raw  reply  [nested|flat] 6+ messages in thread

* Re: issue with reading hostname
  2024-04-22 20:13 issue with reading hostname Atul Kumar <[email protected]>
  2024-04-22 21:11 ` Re: issue with reading hostname Ron Johnson <[email protected]>
  2024-04-22 21:37   ` Re: issue with reading hostname Atul Kumar <[email protected]>
@ 2024-04-22 21:44     ` Ron Johnson <[email protected]>
  0 siblings, 0 replies; 6+ messages in thread

From: Ron Johnson @ 2024-04-22 21:44 UTC (permalink / raw)
  To: pgsql-general

There's no hostname in a socket directory.

Do you mean :"change the socket name from /tmp or /var/run/postgresql to
something else?"

If so, then
https://www.postgresql.org/docs/16/runtime-config-connection.html mentions
sockets.

On Mon, Apr 22, 2024 at 5:37 PM Atul Kumar <[email protected]> wrote:

> Can we edit the socket to change the hostname in it ?
>
> Regards.
>
> On Tue, Apr 23, 2024 at 2:41 AM Ron Johnson <[email protected]>
> wrote:
>
>> On Mon, Apr 22, 2024 at 4:14 PM Atul Kumar <[email protected]> wrote:
>>
>>> Hi,
>>>
>>> I have postgresql  version 15 running on centos7.
>>>
>>> I have below query that reads hostname from /tmp directory:
>>>
>>> psql postgres -A -t -p 5432 -h /tmp/ -c 'SELECT pg_is_in_recovery();'
>>>
>>
>> If you installed from the PGDG repository (possibly also the CENTOS
>> repos, but I'm not sure), then the domain socket also lives in :
>> /var/run/postgresql
>>
>> * I find that more expressive than /tmp.
>> * No need to specify the host when using sockets.
>> * Using a socket name makes parameterizing the hostname easier in scripts.
>>
>>
>>


^ permalink  raw  reply  [nested|flat] 6+ messages in thread

* Re: issue with reading hostname
  2024-04-22 20:13 issue with reading hostname Atul Kumar <[email protected]>
@ 2024-04-22 21:54 ` David G. Johnston <[email protected]>
  2 siblings, 0 replies; 6+ messages in thread

From: David G. Johnston @ 2024-04-22 21:54 UTC (permalink / raw)
  To: Atul Kumar <[email protected]>; +Cc: pgsql-general <[email protected]>

On Mon, Apr 22, 2024 at 1:14 PM Atul Kumar <[email protected]> wrote:

>
> so below are my questions:
>
> 1. Is the psql client reading the socket file that resides in the /tmp
> directory to fetch the hostname ?
>
> 2. I saw the socket file in /tmp and it is empty. Then how is the psql
> client still reading the socket file successfully for hostname ?
>
>
>
Unix sockets are not a PostgreSQL-specific thing, they are an OS thing.
You should be able to find information on them if you search but it isn't
something our documentation is on the hook to teach.

But, in many ways, it is just a file name (Unix philosophy, everything is a
file) that programs can hook their standard input and standard output up to
such that the standard output sent by one process is directed to the
standard input of the other process.  All on the fly, nothing gets
persisted into the physical file.  It's a tin-can-and-string solution to
interprocess communication.

David J.


^ permalink  raw  reply  [nested|flat] 6+ messages in thread


end of thread, other threads:[~2024-04-22 21:54 UTC | newest]

Thread overview: 6+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2024-04-22 20:13 issue with reading hostname Atul Kumar <[email protected]>
2024-04-22 20:25 ` Adrian Klaver <[email protected]>
2024-04-22 21:11 ` Ron Johnson <[email protected]>
2024-04-22 21:37   ` Atul Kumar <[email protected]>
2024-04-22 21:44     ` Ron Johnson <[email protected]>
2024-04-22 21:54 ` David G. Johnston <[email protected]>

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox