Diesel: Ошибка DLL на OSX и PostgreSQL

Созданный на 18 мая 2016  ·  3Комментарии  ·  Источник: diesel-rs/diesel

Испытание diesel_demo на ноутбуке с OSX 10.11.4, на котором запущен postgresql.

Все работает до миграции:

$ diesel migration run
thread '<main>' panicked at 'Error creating timestamp helper functions for Pg: DatabaseError("ERROR:  could not load library \"/usr/local/lib/postgresql/plpgsql.so\": dlopen(/usr/local/lib/postgresql/plpgsql.so, 10): Symbol not found: _DatumIsReadWriteExpandedObject\n  Referenced from: /usr/local/lib/postgresql/plpgsql.so\n  Expected in: /usr/local/opt/postgresql/bin/postgres\n in /usr/local/lib/postgresql/plpgsql.so\n")', ../src/libcore/result.rs:785
note: Run with `RUST_BACKTRACE=1` for a backtrace.
$ otool -l `which diesel` | grep libpq
 name /usr/local/opt/postgresql/lib/libpq.5.dylib (offset 24)

Как видите, дизель связан с libpq.5.dylib, но ищет plpgsql.so (который имеет смысл в Linux, но не в OSX). Я могу только предположить, что где-то путь жестко запрограммирован для установки Linux.

Самый полезный комментарий

Для тех, кто столкнется с этим в будущем, это вызвано тем, что postgres 9.5 установлен, но указывает на каталог данных для 9.4 (вероятно, потому, что вы еще не запустили pg_upgrade )

Все 3 Комментарий

На моей стороне все было неправильно настроено - исправлено.

Для тех, кто столкнется с этим в будущем, это вызвано тем, что postgres 9.5 установлен, но указывает на каталог данных для 9.4 (вероятно, потому, что вы еще не запустили pg_upgrade )

@sgrif, можете ли вы показать мне, как проверить, на какой каталог данных указывает postgres?

Хотелось бы, чтобы это сработало?

// check installed version
$ postgres --version
postgres (PostgreSQL) 10.4

// check directory version
$ psql development_env
# select version();
                                                   version                                                    
--------------------------------------------------------------------------------------------------------------
 PostgreSQL 9.5.3 on x86_64-apple-darwin14.5.0, compiled by Apple LLVM version 7.0.2 (clang-700.1.81), 64-bit
(1 row)
Была ли эта страница полезной?
0 / 5 - 0 рейтинги