kzheng1@gmail.com writes:
> command: "/usr/local/Cellar/postgresql/9.5.4_1/bin/pg_ctl" -w -l
> "pg_upgrade_server.log" -D "/usr/local/var/postgres" -o "-p 50432 -b -c
> listen_addresses='' -c unix_socket_permissions=0700 -c
> unix_socket_directories='/usr/local/Cellar/postgresql/9.6.1/bin'" start >>
> "pg_upgrade_server.log" 2>&1
> waiting for server to start....FATAL: XX000: could not load library
> "/usr/local/lib/postgresql/pg_stat_statements.so":
> dlopen(/usr/local/lib/postgresql/pg_stat_statements.so, 10): Symbol not
> found: _GetNamedLWLockTranche
> Referenced from: /usr/local/lib/postgresql/pg_stat_statements.so
> Expected in: /usr/local/Cellar/postgresql/9.5.4_1/bin/postgres
> in /usr/local/lib/postgresql/pg_stat_statements.so
You're trying to load a 9.6 version of pg_stat_statements.so into a 9.5
server. That's not going to work. (The error message isn't too
transparent, agreed, but we have no real control over that :-(.)
I'd venture that the problem is that you've tried to use /usr/local/lib/
rather than a version-specific library directory for this extension.
It'd be smart to rethink that. In the short run you might be able to
work around it by turning off pg_stat_statements in the config for the
old server.
regards, tom lane