或る日常

Python, Django, FreeBSD

fabtools & FreeBSD で Postgresql を設定するも、ユーザー名がpostgres決め打ちだったのでエラーが起こっていたのに対処

      2017/10/18

表題の通り。

fabtoolsは便利で、煩雑になりやすい設定関係をうまくラップしてくれていると思う。 しかし、FreeBSDではちょっと面倒だった。
Postgresqlはpkgでインストールしてある(ココがポイント)。

pkgでインストールすると、ユーザー名がpgsqlになるため、fabtools内でpostgresになろうとするとユーザーが居なくてエラーになる。

ソースを読むと

def _run_as_pg(command):

という関数がその辺を受け持っていたのでちょっと改造した。

from fabtools import postgres
def _run_as_pg(command):
    with cd('~pgsql'):
    return sudo("%s postgres" % command, user='pgsql')
    postgres._run_as_pg = _run_as_pg

 

としたらどうやら動作したようだ。

本当は先頭に_がある関数に手出ししちゃいけないんだけど、今回はこれで対処した。

 - Python, 未分類 , , ,