Diesel: Erreur DLL sur OSX et PostgreSQL

Créé le 18 mai 2016  ·  3Commentaires  ·  Source: diesel-rs/diesel

Essayer le diesel_demo sur un ordinateur portable OSX 10.11.4 exécutant postgresql.

Tout fonctionne jusqu'à la migration :

$ 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)

Comme vous pouvez le voir, diesel est lié à libpq.5.dylib mais recherche plpgsql.so (ce qui aurait du sens sur linux mais pas sur osx). Je ne peux que supposer que quelque part le chemin est codé en dur pour une installation Linux.

Commentaire le plus utile

Pour tous ceux qui rencontrent cela à l'avenir, cela est dû au fait que postgres 9.5 est installé, mais pointe vers un répertoire de données pour 9.4 (probablement parce que vous n'avez pas encore exécuté pg_upgrade )

Tous les 3 commentaires

Les choses ont été mal configurées de mon côté - corrigé.

Pour tous ceux qui rencontrent cela à l'avenir, cela est dû au fait que postgres 9.5 est installé, mais pointe vers un répertoire de données pour 9.4 (probablement parce que vous n'avez pas encore exécuté pg_upgrade )

@sgrif pouvez-vous me montrer comment vérifier vers quel répertoire de données postgres pointe?

Est-ce que quelque chose comme ça fonctionnerait ?

// 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)
Cette page vous a été utile?
0 / 5 - 0 notes