Has anyone won the fight with postgres on OSC Server update to 3.2
Dr. Hawkins
dochawk at gmail.com
Thu Oct 23 20:43:51 EDT 2014
I'm nearly ready to pull my hair out.
Shen OSX server updated to 3.2.1, it broke postgres, badly. This doesn't
seem to have been solved on on 3.2.2, either.
"unix_socket_directory" became "unix_socket_directories" in
org.postgresql.postgres.plist --but this has to be done manually, resulting
in a failure to convert the default database from 9.2 to 9.3,and the need
to manually do this and and/or manually import and use initdb to create one.
Of course, apple has no provision to rollback to 3.1. Doing this with time
machine breaks yet more . . . and there is no way to force a reinstall of
3.2.2 once it thinks it's already installed (although I suppose somewhere
there is a list that I could edit)
After days of fighting, I got it running on my laptop, and managed to
import my old database. Hurrah. Then I added the listening ip
addresses--and it would no longer start!
I managed, after much conniving, to get it running on the desktop, and
import the database (getting the dump meant an adventure with the 9.2
binaries that are indeed part of the bundle). Imported, got it speaking
with the psql program as user _postgres, and . . .
livecode can't connect. I get the message,
could not connect to server: Connection refused
Is the server running on host "sharpshin.local" and accepting
TCP/IP connections on port 5432?
well, yes:
[sharpshin:/Library/Server/PostgreSQL] root# ls -l
/private/var/pgsql_socket/
total 56
srwxrwx--- 1 _postgres _postgres 0 Oct 23 17:25 .s.PGSQL.5432
-rw------- 1 _postgres _postgres 79 Oct 23 17:25 .s.PGSQL.5432.lock
-rw------- 1 _postgres _postgres 283 Oct 13 13:30
_devicemgr_server1-upgrade.log
-rw------- 1 _postgres _postgres 621 Oct 13 13:30
_devicemgr_server2-upgrade.log
-rw------- 1 _postgres _postgres 283 Oct 13 13:31
_teamsserver_server1-upgrade.log
-rw------- 1 _postgres _postgres 650 Oct 13 13:31
_teamsserver_server2-upgrade.log
-rw------- 1 _postgres _postgres 283 Oct 13 13:29
caldav_server1-upgrade.log
-rw------- 1 _postgres _postgres 569 Oct 13 13:29
caldav_server2-upgrade.log
[sharpshin:/Library/Server/PostgreSQL] root# ls -l /var/pgsql_socket/
total 56
srwxrwx--- 1 _postgres _postgres 0 Oct 23 17:25 .s.PGSQL.5432
-rw------- 1 _postgres _postgres 79 Oct 23 17:25 .s.PGSQL.5432.lock
-rw------- 1 _postgres _postgres 283 Oct 13 13:30
_devicemgr_server1-upgrade.log
-rw------- 1 _postgres _postgres 621 Oct 13 13:30
_devicemgr_server2-upgrade.log
-rw------- 1 _postgres _postgres 283 Oct 13 13:31
_teamsserver_server1-upgrade.log
-rw------- 1 _postgres _postgres 650 Oct 13 13:31
_teamsserver_server2-upgrade.log
-rw------- 1 _postgres _postgres 283 Oct 13 13:29
caldav_server1-upgrade.log
-rw------- 1 _postgres _postgres 569 Oct 13 13:29
caldav_server2-upgrade.log
But it won't talk.
in psql, I can see that all exists:
template1=# \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------+-----------
_postgres | Superuser, Create role, Create DB, Replication | {}
dhbk | | {}
hawk | | {dhbk}
root | | {}
and my database and tables exist, too.
org.postgresql.postgres.plist is
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "
http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ProgramArguments</key>
<array>
<string>-D</string>
<string>/Library/Server/PostgreSQL/Data</string>
<string>-c</string>
<string>unix_socket_directories=/private/var/pgsql_socket</string>
<string>-c</string>
<string>logging_collector=on</string>
<string>-c</string>
<string>log_connections=on</string>
<string>-c</string>
<string>log_lock_waits=on</string>
<string>-c</string>
<string>log_statement=ddl</string>
<string>-c</string>
<string>log_line_prefix=%t </string>
<string>-c</string>
<string>listen_addresses=127.0.0.1,::1,192.186.*.*,10.0.*.*</string>
<string>-c</string>
<string>log_directory=/Library/Logs/PostgreSQL</string>
<string>-c</string>
<string>log_filename=PostgreSQL.log</string>
<string>-c</string>
<string>unix_socket_group=_postgres</string>
<string>-c</string>
<string>unix_socket_permissions=0770</string>
</array>
</dict>
</plist>
while the active part of pg_hba.conf is
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication _postgres trust
#host replication _postgres 127.0.0.1/32 trust
#host replication _postgres ::1/128 trust
host all all 192.168.0.1/16 trust
host all all 10.0.0.1/16 trust
I'm at a loss here. I know almost nothing about sockets, but it seems to
me that 10.0.1.10 should be able to connect to itself with these.
OK, part of the oral here is to make my own postgres installation for the
shipping product, but . . .
--
Dr. Richard E. Hawkins, Esq.
(702) 508-8462
More information about the use-livecode
mailing list