centos7にpostgresql-10.3をインストールします

centos7にpgsql10.3をインストールします

序文

centos7にpgsql-10.3をインストールし、インターネット上で多くの記事を見つけましたが、成功するまでに長い時間がかかりました。次に、インストールプロセスを要約して、次回の時間の浪費を防ぎます。

pgsql-10.3をダウンロード

システムバージョンcentos7

pgsql-10.3をダウンロードします。https://www.postgresql.org/ftp/source/v10.3/

サーバーにtarパッケージをアップロードする

$ scp postgresql-10.3.tar.gz [email protected]:~
The authenticity of host '192.168.56.189 (192.168.56.189)' can't be established.
ECDSA key fingerprint is SHA256:q2lore2LaeBsH4j3jmEVg0VYbfudDDR4LkmF/rt+Zp0.
Are you sure you want to continue connecting (yes/no)? yes
Failed to add the host to the list of known hosts (/home/liz/.ssh/known_hosts).
[email protected]'s password: 
postgresql-10.3.tar.gz                                                     100%   25MB  37.5MB/s   00:00  

インストールする

解凍

# tar -xzvf postgresql-10.3.tar.gz

基本的なツールをインストールする

yum install -y vim lrzsz tree wget gcc gcc-c++ readline-devel zlib-devel

コンパイルする

解凍したフォルダに移動し、コマンドを実行します

./configure --prefix=/usr/local/pgsql

以下/usr/local/pgsqlは、コンパイルおよびインストールされる特定の場所を示しています。独自の場所を定義できます

インストールする

make && make install

次に、インストールが完了

するまで待機します... PostgreSQL installation complete.インストールが成功したように見えます

ディレクトリデータの作成、ログ

# mkdir /usr/local/pgsql/data
# mkdir /usr/local/pgsql/log

システム環境変数を追加する

 vim /etc/profile

最後に書く

PGHOME=/usr/local/pgsql
export PGHOME
PGDATA=/usr/local/pgsql/data
export PGDATA
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$PGHOME/bin

注:/usr/local/pgsql独自のインストールディレクトリに変更する必要があります

構成ファイルを有効にする

# source /etc/profile

ユーザーpostgresを追加して権限を与える

# adduser postgres
# chown -R postgres:root /usr/local/pgsql/

パスワードを変更する(ルートで)

# passwd postgres 
更改用户 postgres 的密码 。
新的 密码:
无效的密码: 密码未通过字典检查 - 过于简单化/系统化
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

データベースを初期化する

注:postgresユーザーので初期化する必要があります

ユーザーpostgresを切り替える

# su postgres

次に、データベースを初期化します

# /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/

設定ファイルを編集

# vim /usr/local/ppgsql/data/postgresql.conf

修正

listen_addresses = '*'
port = 5432

また変更

# vim /usr/local/pgsql/data/pg_hba.conf

最後に追加

説明:

タイプ:pg接続方法、ローカル:ローカルUNIXソケット、ホスト:tcp / ip接続
データベース:指定データベース
ユーザー:指定データベースユーザー
アドレス:IPアドレス、特定のホストまたは特定のネットワークセグメントを定義できます。32は全体を表しますIPアドレスは固定IPと同等です。24は最初の3桁のみを表し、最後の桁は0から255までのいずれかの
方法です。認証方法は、通常、ident、md5、パスワード、信頼、拒否です
md5は、一般的に使用されるパスワード認証方法です。
パスワードはクリアテキストのパスワードとしてデータベースに送信されます。本番環境では使用しないことをお勧めします。
信頼とは、データベースのユーザー名を知っている限りログインすることであり、運用環境での使用はお勧めしません。
拒否は認証を拒否することです。

サービスを開始

$ pg_ctl start -l /usr/local/pgsql/log/pg_server.log
could not change directory to "/root/postgresql-10.3": 权限不够
waiting for server to start.... done
server started

開始、停止、再起動

./pg_ctl start\stop\restart -D /usr/local/pgsql/data/

バージョンを表示

# psql -V
psql (PostgreSQL) 10.3

ブートを設定

pgsインストールパッケージのlinuxファイルを/etc/init.dまたは/etc/rc.dにコピーします。

[root@10 postgresql-10.3]# cp contrib/start-scripts/linux /etc/init.d/pgsql

インストールパスに従ってpgsqlファイルの構成項目を変更します。

## EDIT FROM HERE

# Installation prefix (安装路径)
prefix=/usr/local/pgsql

# Data directory (data路径)
PGDATA="/usr/local/pgsql/data"

pgsqlファイルの権限を変更する

# chmod +x /etc/init.d/pgsql

起動時にpgsqlファイルを実行する

# chkconfig --add pgsql

ファイアウォールをオフにする

$ systemctl stop firewalld
$ systemctl disable firewalld

おすすめ

転載: www.cnblogs.com/ricklz/p/12723699.html
おすすめ