Ansible-role-postgresql: psycopg2 ๋ชจ๋“ˆ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค(๋ชจ๋“ˆ ์žˆ์Œ)

์— ๋งŒ๋“  2018๋…„ 07์›” 27์ผ  ยท  6์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: geerlingguy/ansible-role-postgresql

  1. pip ๋ชฉ๋ก์€ psycopg2(2.7.5)๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
  2. yum์€ ์ด ํŒจํ‚ค์ง€ python-psycopg2-2.7.5-1.rhel7.x86_64๊ฐ€ ์ด๋ฏธ ์„ค์น˜๋˜์–ด ์žˆ๊ณ  ์ตœ์‹  ๋ฒ„์ „์ž„์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
    2a: ํŒŒ์ด์ฌ --๋ฒ„์ „: ํŒŒ์ด์ฌ 2.7.5
  3. Ansible yml์—๋Š” ๋‹ค์Œ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  roles:
    - role: ansible-role-postgresql
      become: yes
      postgresql_enablerepo: "pgdg96"
      postgresql_restarted_state: "restarted"
      postgresql_python_library: python-psycopg2
      postgresql_bin_path: /usr/pgsql-9.6/bin
      postgresql_daemon: postgresql-9.6.service 
  1. ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

TASK [ansible-role-postgresql : Ensure PostgreSQL databases are present.] **************************************************************************** failed: [clpaxd-iwh01.na.ad.rrd.com] (item={u'owner': u'manifold', u'login_user': u'manifold', u'name': u'manifoldcf', u'login_password': u'manifold'}) => {"changed": false, "item": {"login_password": "manifold", "login_user": "manifold", "name": "manifoldcf", "owner": "manifold"}, "msg": "the python psycopg2 module is required"}
ํ™˜๊ฒฝ:

  1. ์„ผํ† ์Šค 7
  2. ํŒŒ์ด์ฌ 2.7.5
  3. ansible 2.7.0.dev0(stable-2.6 28d0a173db) ์ตœ์ข… ์—…๋ฐ์ดํŠธ 2018/06/25 12:12:39(GMT -500)

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์•„์ด๋””์–ด๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ด๋ฏธ python3-psycopg2๋ฅผ ์„ค์น˜ํ–ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค.
postgresql_python_library: python3-psycopg2

๊ทธ๋ž˜์„œ ๋‚ด ํ”Œ๋ ˆ์ด๋ถ์— ๋‹ค์Œ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
sible_python_interpreter: /usr/bin/python3

๊ธฐ๋ณธ์ ์œผ๋กœ /usr/bin/python์„ ์‚ฌ์šฉํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋ฐ๋น„์•ˆ 10์—์„œ;
/usr/bin/python --๋ฒ„์ „
ํŒŒ์ด์ฌ 2.7.16

๋ชจ๋“  6 ๋Œ“๊ธ€

pip install -U --no-cache-dir --force psycopg2 ์‹œ๋„

์ด ๋ฒ„๊ทธ๋Š” no_log ๊ฐ€ ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์‹ค์ œ ๋ฌธ์ œ๋ฅผ ์€ํํ•˜๋Š” ๊ฒฝ์šฐ์— ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์•Œ์•„๋‚ด๊ธฐ๊ฐ€ ์•ฝ๊ฐ„ ์„ฑ๊ฐ€์‹ญ๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ฐœ์ธ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ ์ • package ์„ค์น˜ํ•˜๊ธฐ python3-psycopg2 Postgres์˜ ์—ญํ• ์„ ๊ฐ€์ ธ ์˜ค๊ธฐ ์ „์—.

Ubuntu์—์„œ ์˜ค๋ž˜๋œ ์Šค๋ ˆ๋“œ(๊ทธ๋Ÿฌ๋‚˜ ์—ด๋ ค ์žˆ์Œ)์™€ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. no_log๋ฅผ ์ œ๊ฑฐํ•˜๋ฉด ํŒจํ‚ค์ง€ ๋ˆ„๋ฝ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ์ˆ˜๋™ ์„ค์น˜ psycopg2 ํ›„ ์‚ฌ์šฉ์ž ์ž‘์—…์ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ํ•„์ˆ˜ python ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๊ธฐ ์œ„ํ•œ ์ถ”๊ฐ€ ๋‹จ๊ณ„๋กœ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

์ด๋ฏธ python3-psycopg2๋ฅผ ์„ค์น˜ํ–ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค.
postgresql_python_library: python3-psycopg2

๊ทธ๋ž˜์„œ ๋‚ด ํ”Œ๋ ˆ์ด๋ถ์— ๋‹ค์Œ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
sible_python_interpreter: /usr/bin/python3

๊ธฐ๋ณธ์ ์œผ๋กœ /usr/bin/python์„ ์‚ฌ์šฉํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋ฐ๋น„์•ˆ 10์—์„œ;
/usr/bin/python --๋ฒ„์ „
ํŒŒ์ด์ฌ 2.7.16

์ด ๋ฌธ์ œ๋Š” ์ตœ๊ทผ ํ™œ๋™ ๋ถ€์กฑ์œผ๋กœ ์ธํ•ด '๋ถ€์‹ค'๋กœ ํ‘œ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋” ์ด์ƒ ํ™œ๋™์ด ์—†์œผ๋ฉด 30์ผ ํ›„์— ๋ฌธ์ œ๊ฐ€ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ๋‹น์‹ ์˜ ๊ธฐ์—ฌ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

์ด ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๋ฌผ ์„ ์ฝ๊ณ  ๋ฌธ์ œ๋ฅผ ์˜ค๋ž˜๋œ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œํ•˜๋Š” ์ด์œ ๋ฅผ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

์ด ๋ฌธ์ œ๋Š” ํ™œ๋™์ด ์—†์–ด ์ข…๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์˜ค๋ฅ˜๋ผ๊ณ  ์ƒ๊ฐ๋˜๋ฉด ๋ฌธ์ œ๋ฅผ ๋‹ค์‹œ ์—ด๊ฑฐ๋‚˜ ๊ด€๋ จ ์„ธ๋ถ€ ์ •๋ณด๋กœ ์ƒˆ ๋ฌธ์ œ๋ฅผ ์ œ์ถœํ•˜์‹ญ์‹œ์˜ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰