PostgreSQLインストール
Version 10.0.x with Ubuntu 16.04 2018/2
コンパイルに必要なライブラリのインストール
PostgreSQL用のサービスファイルを作成する。
コンパイルに必要なライブラリのインストール
# GNU Readline sudo apt-get install libreadline6-dev # zlib sudo apt-get install zlib1g zlib1g-dev # OpenSSL sudo apt-get install libssl-dev # bison sudo apt-get install bison # flex sudo apt-get install flexグループとユーザ、インストールディレクトリの作成。
# ユーザの追加 sudo adduser postgres # グループの追加 sudo adduser postgres postgres sudo mkdir /usr/local/pgsql sudo chown postgres.postgres /usr/local/pgsqlソースの取得とコンパイル、インストール。
su - postgres git clone git://git.postgresql.org/git/postgresql.git cd postgres git checkout master ./configure --with-openssl --enable-debug make make check make install sudo make install環境変数の設定。~postgresql/.bash_profileの末尾へ追加。
export PATH=$PATH:/usr/local/pgsql/bin export POSTGRES_HOME=/usr/local/pgsql export PGLIB=$POSTGRES_HOME/lib export PGDATA=$POSTGRES_HOME/data export MANPATH="$MANPATH":$POSTGRES_HOME/man export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB"読み込み
. ~/bash_profileデータベースクラスタの初期化
initdb -D /usr/local/pgsql/data --no-localeテスト起動
pg_ctl start Starting PostgreSQL: ok netstat -atp | grep postgres tcp 0 0 localhost.localdom:postgres *:* LISTEN xxxxx/postmaster pg_ctl stop Stopping PostgreSQL: ok起動設定
PostgreSQL用のサービスファイルを作成する。
sudo vi /lib/systemd/system/postgresql.service
[Unit] Description=PostgreSQL database server After=network.target [Service] Type=forking User=postgres Group=postgres Environment=PGPORT=5432 Environment=PGDATA=/usr/local/pgsql/data OOMScoreAdjust=-1000 ExecStart=/usr/local/pgsql/bin/pg_ctl start -D ${PGDATA} -s -o "-p ${PGPORT}" -w -t 300 ExecStop=/usr/local/pgsql/bin/pg_ctl stop -D ${PGDATA} -s -m fast ExecReload=/usr/local/pgsql/bin/pg_ctl reload -D ${PGDATA} -s TimeoutSec=300 [Install] WantedBy=multi-user.targetサービス設定と起動確認
sudo systemctl enable postgresql sudo systemctl start postgresql.service sudo systemctl status postgresql.service sudo systemctl stop postgresql.serviceユーザとデータベースの作成。
createuser user_1 createdb -E UTF-8 -O user_1 -T template0 user1_db※ 日本語を使うときはUTF-8で 設定ファイル。
pg_hba.conf アクセス設定 postgresql.conf 機能設定listen_address = '*' にしないと外部から接続できないことに注意。