Skip to content

Commit 6fe28a5

Browse files
[BUG FIX] A problem with socket directory is fixed
On non-Windows platform Postgres always looks for socket files in "/tmp" directory.
1 parent 67beb95 commit 6fe28a5

File tree

1 file changed

+29
-1
lines changed

1 file changed

+29
-1
lines changed

testgres/node.py

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import subprocess
77
import threading
88
import tempfile
9+
import platform
910
from queue import Queue
1011

1112
import time
@@ -1925,7 +1926,7 @@ def make_simple(
19251926

19261927
# Define delayed propertyes
19271928
if not ("unix_socket_directories" in options.keys()):
1928-
options["unix_socket_directories"] = __class__._gettempdir()
1929+
options["unix_socket_directories"] = __class__._gettempdir_for_socket()
19291930

19301931
# Set config values
19311932
node.set_auto_conf(options)
@@ -1938,6 +1939,33 @@ def make_simple(
19381939

19391940
return node
19401941

1942+
def _gettempdir_for_socket():
1943+
platform_system_name = platform.system().lower()
1944+
1945+
if platform_system_name == "windows":
1946+
return __class__._gettempdir()
1947+
1948+
#
1949+
# [2025-02-17] Hot fix.
1950+
#
1951+
# Let's use hard coded path as Postgres likes.
1952+
#
1953+
# pg_config_manual.h:
1954+
#
1955+
# #ifndef WIN32
1956+
# #define DEFAULT_PGSOCKET_DIR "/tmp"
1957+
# #else
1958+
# #define DEFAULT_PGSOCKET_DIR ""
1959+
# #endif
1960+
#
1961+
# On the altlinux-10 tempfile.gettempdir() may return
1962+
# the path to "private" temp directiry - "/temp/.private/<username>/"
1963+
#
1964+
# But Postgres want to find a socket file in "/tmp" (see above).
1965+
#
1966+
1967+
return "/tmp"
1968+
19411969
def _gettempdir():
19421970
v = tempfile.gettempdir()
19431971

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy