PostgreSQL サーバーのインストールと設定
[root]# useradd --create-home --user-group postgres --create-home(-m): ホームディレクトリが存在しない場合、作成 --user-group(-U): ユーザーと同じ名前のグループを作成 [root]# passwd postgres
[root]# mkdir /usr/local/pgsql/ [root]# chown -R postgres:postgres /usr/local/pgsql/
[root]# tar xvfj postgresql-17.0.bz2 -C /usr/local/src [root]# chown -R postgres:postgres /usr/local/src/postgresql-xx.x
メジャー・バージョンアップ時には、データのバックアップ取得後、停止、
/usr/local/pgsql を削除して、新規インストール。
マイナー・バージョンアップ時には、インストールして再起動。
インストールには Perl モジュール ExtUtils::Embed ExtUtils::MakeMaker が必要。
[root]# cpan ExtUtils::Embed ExtUtils::MakeMaker または、 [root]# dnf install perl-ExtUtils-Embed perl-ExtUtils-MakeMaker [root]# su - potgres # ユーザを postgres に切り替え [postgres]$ cd /usr/local/src/postgresql-xx.x [postgres]$ ./configure --enable-nls=ja(日本語サポート)--with-perl(PL/perl) [postgres]$ make -j3 [postgres]$ make -j3 check [postgres]$ make -j3 install [postgres]$ /usr/local/pgsql/bin/pg_isready --version # バージョン確認 [postgres]$ cd .. [postgres]$ rm -vrf postgresql-xx.x
[postgres]$ pg_dumpall -U postgres > ファイル名・postgresql 停止
[root]# systemctl stop postgresql.service・/usr/local/pgsql 削除
[root]# rm -vrf /usr/local/pgsql/・インストールディレクトリ作成
[root]# mkdir /usr/local/pgsql [root]# chown postgres:postgres /usr/local/pgsql/・インストール
[root]# tar xvfj postgresql-xx.x.tar.bz2 -C /usr/local/src/ [root]# chown -R postgres:postgres /usr/local/src/postgresql-xx.x/ [postgres]$ cd /usr/local/src/postgresql-xx.x/ [postgres]$ ./configure --enable-nls=ja --with-perl [postgres]$ make -j3 [postgres]$ make -j3 check [postgres]$ make -j3 install [postgres]$ /usr/local/pgsql/bin/pg_isready --version・データベースクラスタ作成
[postgres]$ initdb --encoding=UTF-8 --no-locale --data-checksums・postgresql 起動
[root]# systemctl start postgresql.service・全データベース復元
[postgres]$ psql -U postgres template1 < ファイル名・/usr/local/pgsql/data/{pg_hba.conf, postgresql.conf} 設定
[postgres]$ vim /usr/local/pgsql/data/pg_hba.conf [postgres]$ vim /usr/local/pgsql/data/postgresql.conf [postgres]$ pg_ctl reload・Apache(mod_prel)再起動
[root]# systemctl restart httpd.service
postgresql を利用する全てのユーザーにて、以下を実行。
[user]$ vim ~/.bash_profile [user]$ vim ~/.profile(Ubuntu: ~/.bash_profile, ~/.bash_login が無い場合) 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 [user]$ . ~/.bash_profile
[root]# updatedb [root]# locate libpgtypes.so /usr/local/pgsql/lib/libpgtypes.so [root]# vim /etc/ld.so.conf.d/postgresql.conf /usr/local/pgsql/lib・/etc/ld.so.cache を更新
[root]# ldconfig -v -v : 進捗状況・確認
[root]# ldconfig -p | grep libpgtypes -p : /etc/ld.so.cache の内容確認 libpgtypes.so.3 => /usr/local/pgsql/lib/libpgtypes.so.3 libpgtypes.so => /usr/local/pgsql/lib/libpgtypes.so