centos:kickstart:postgres
目次
CentOS KickstartでPostgreSQLを自動セットアップする
%postスクリプト
CentOS Kickstart 設定ファイルから抜粋してます。
# create working directory mkdir /tmp/postgres # create logging directory mkdir /tmp/postgres/logs cd /tmp/postgres cp -r /root/postgres/* . bash /tmp/postgres/postgres-setup.sh 2>&1 | tee /tmp/postgres/logs/postgres-setup.log
postgres-setup.sh
#!/bin/bash chmod -R 777 /tmp/postgres # initialize database /etc/rc.d/init.d/postgresql initdb # copy config file \cp -rf /tmp/postgres/postgresql.conf /var/lib/pgsql/data/postgresql.conf \cp -rf /tmp/postgres/pg_hba.conf /var/lib/pgsql/data/pg_hba.conf \cp -rf /tmp/postgres/etc/init.d/postgresql /etc/init.d/postgresql # start service /etc/rc.d/init.d/postgresql start # set database password sudo -u postgres bash /tmp/postgres/postgres-create-database.sh chkconfig postgresql on
postgres-create-database.sh
postgresユーザで実行されます。 自分の環境ではportを変えていますが、デフォルトのポートの場合は-pのオプションは不要です。 またパスワードはマスクかけてます。
#/bin/bash # set password psql -p ???? -c "alter user postgres with password '??????????????'" # create user createuser -p ???? --superuser --createdb --createrole scpostgres # set password psql -p ???? -c "alter user scpostgres with password '??????????????'" # create schema psql -p ???? -c "create schema scmain authorization scpostgres" psql -p ???? -c "alter user scpostgres set search_path to scmain" exit
postgresql.conf
外部からの接続を許可します。
listen_addresses = '*' # what IP address(es) to listen on;
デフォルトからportを変えます。
port = ????? # (change requires restart)
ログの出力形式を変えます。
log_line_prefix = '%t %u %d ' # special values:
エンコーディングをsjisに変えます。
client_encoding = sjis # actually, defaults to database
pg_hba.conf
以下の行を追加します。
host all all 0.0.0.0/0 trust
etc/init.d/postgresql
portを変更したものに置き換えます。
centos/kickstart/postgres.txt · 最終更新: 2023/06/10 09:13 by 127.0.0.1