postgresql์ ์คํํ๋ OSX 10.11.4 ๋ ธํธ๋ถ์์ ๋์ ค ๋ฐ๋ชจ๋ฅผ ์๋ํฉ๋๋ค.
๋ชจ๋ ๊ฒ์ด ๋ง์ด๊ทธ๋ ์ด์ ๊น์ง ์๋ํฉ๋๋ค.
$ 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๋ฅผ ์ฐพ๊ณ ์์ต๋๋ค(๋ฆฌ๋ ์ค์์๋ ์๋ฏธ๊ฐ ์์ง๋ง osx์์๋ ์๋ฏธ๊ฐ ์์). ๊ฒฝ๋ก๊ฐ Linux ์ค์น๋ฅผ ์ํด ํ๋์ฝ๋ฉ๋์ด ์๋ค๊ณ ๊ฐ์ ํ ์ ์์ต๋๋ค.
๋ด ์ชฝ์์ ์ค์ ์ด ์๋ชป๋์์ต๋๋ค. ์์ ํ์ต๋๋ค.
๋ฏธ๋์ ์ด ๋ฌธ์ ๋ฅผ ์คํํ๋ ์ฌ๋์ ๊ฒฝ์ฐ ์ด๋ 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)
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋ฏธ๋์ ์ด ๋ฌธ์ ๋ฅผ ์คํํ๋ ์ฌ๋์ ๊ฒฝ์ฐ ์ด๋ postgres 9.5๋ฅผ ์ค์นํ์ง๋ง 9.4์ ๋ฐ์ดํฐ ๋๋ ํ ๋ฆฌ๋ฅผ ๊ฐ๋ฆฌ์ผฐ๊ธฐ ๋๋ฌธ์ ๋ฐ์ํฉ๋๋ค(์์ง
pg_upgrade
์คํํ์ง ์์๊ธฐ ๋๋ฌธ์ผ ์ ์์)