1つは、データベースのインストールです
ご自身の環境に応じてインストールと操作を選択してください
1、yum指定ディレクトリインストール
https://blog.csdn.net/llwy1428/article/details/105143053
2、yumは直接インストールします
https://blog.csdn.net/llwy1428/article/details/102486414
3.コンパイルしてインストールします
https://blog.csdn.net/llwy1428/article/details/95444151
4.PostgreSqlの基本操作
https://blog.csdn.net/llwy1428/article/details/102598732
5. Centos7 yumのインストール、構成PgAdmin4
https://blog.csdn.net/llwy1428/article/details/102486511
6、Centos7PostgreSqlデータベースインストール拡張機能
https://blog.csdn.net/llwy1428/article/details/105167524
7. Centos7PostgreSqlデータベースはFDW拡張機能を使用します
https://blog.csdn.net/llwy1428/article/details/106291669
8. Centos7 postgresqlv11はタイムスケールデータベースTimescaleDBをインストールします
https://blog.csdn.net/llwy1428/article/details/106357900
9. Windows 10は、PgAdminを使用してPostgreSqlデータベースをバックアップします
https://blog.csdn.net/llwy1428/article/details/107031697
2、仮想マシンのインストールと構成
1. 2台のCentos7.x仮想マシンを選択(またはインストール)します
システムのダウンロード:http://archive.kernel.org/centos-vault/7.4.1708/isos/x86_64/
2.システムのインストール:https://blog.csdn.net/llwy1428/article/details/89328381
3.ネットワーク構成:https://blog.csdn.net/llwy1428/article/details/85058028
注:ここでは、192.168.11.11がマスターデータベースノードであり、192.168.11.12がスレーブデータベースノードです。
4.ファイアウォール:https://blog.csdn.net/llwy1428/article/details/99676257
両方の仮想マシンファイアウォールがポートを開きます:5432
]# firewall-cmd --add-port=5432/tcp --permanent
]# firewall-cmd --reload
3、インストール、構成
注:ここで、192.168.11.11はマスターデータベース、192.168.11.12はスレーブデータベースです。
1.データベースをインストールします
マスターノードにPostgreSqlデータベースをインストールします
インストールプロセス:https://blog.csdn.net/llwy1428/article/details/105143053
2.バックアップアカウントを作成し、メインデータベース192.168.11.11にパスワードを設定します
システムはpostgresユーザーに切り替わります
[root@localhost ~]# su - postgres
コマンドラインを開く
-bash-4.2$ psql
データベースユーザーを作成し、パスワードを設定します(ユーザー名の文字は小文字にする必要があります)
CREATE USER [Username] REPLICATION LOGIN CONNECTION LIMIT 3 ENCRYPTED PASSWORD '[Password]';
postgres=# CREATE USER dbbak REPLICATION LOGIN CONNECTION LIMIT 3 ENCRYPTED PASSWORD '123456';
3.postgresql.conf構成ファイルを変更します
変更するパラメータ:
(1)wal_levelストリーミングレプリケーションの最高レベルのレプリカ
(2)max_wal_sendersストリーミングレプリケーションプロセスの数、通常はホスト
(3)wal_keep_segmentsは、WALの数を保持します。これは、バッチ書き込みがあるかどうかに応じて増減できます。
(4)hot_standby yes / noは、リカバリ中のクエリを許可します
ユーザーを切り替えて構成ファイルを編集する
[root@localhost ~]# su - postgres
-bash-4.2$ vim /data/pgdata/postgresql.conf
wal_level =レプリカ
max_wal_senders = 10
wal_keep_segments = 64
hot_standby =オン
4.ホストマッピングを編集します
[root@localhost ~]# vim /etc/hosts
5.pg_hda.conf構成ファイルを変更します
-bash-4.2$ vim /data/pgdata/pg_hba.conf
ホットスタンバイユーザーdbbakの接続構成を追加します
注:これは、スレーブノードの接続に限定する必要があります。この構成の3番目の列は、前の記事「dbbak」で作成されたホットスタンバイユーザーです。
host replication dbbak db.slave.bak md5
注:最後の行の4番目の列は、/ etc / hostsで構成されたスレーブノードのホスト名とIPの間のマッピングです。
6.メインサーバーのデータベースサービスを再起動します
[root@localhost ~]# systemctl restart postgresql-11
7.PostgreSqlデータベースサービスをスレーブノードにインストールします
ディレクトリを作成し、権限を付与します(データベースを初期化する必要はありません)
8.コマンドを使用して、マスターノードのデータファイルをスレーブノードに同期します
/ usr / pgsql-11 / bin / pg_basebackup -h [マスターサーバーアドレス] -p [マスターサーバーポート] -D [スレーブサーバーデータディレクトリ] -P -U [マスターサーバーホットバックアップユーザー]
ノードからユーザーを切り替える
[root@localhost ~]# su - postgres
スレーブノードで実行
-bash-4.2$ /usr/pgsql-11/bin/pg_basebackup -h 192.168.11.11 -p 5432 -D /data/pgdata/ -P -U dbbak
マスターノードサーバーのパスワードを入力します
パスワード:***********
スレーブノードのデータディレクトリを表示します。
-bash-4.2$ ll /data/pgdata/
9.スレーブノードのpostgresql.conf構成ファイルを変更します(オプション)
-bash-4.2$ vim /data/pgdata/postgresql.conf
スレーブノードデータベースポートを5433に変更します
10.構成ファイルrecovery.confを作成します
-bash-4.2$ vim /data/pgdata/recovery.conf
コンテンツを書く
standby_mode ='on'
primary_conninfo ='host=192.168.11.11 port=5432 user=dbbak password=123456'
trigger_file ='/tmp/pgsql_master'
説明:「host = 192.168.11.11port = 5432 user = dbbak password = 123456」は、マスターノードのホットスタンバイユーザーおよび接続情報です。
11.ノードからデータベースサービスを開始します
[root@localhost ~]# systemctl start postgresql-11
12.サブテーブルは、マスターノードとスレーブノードのデータベースの起動ステータスを確認します。
マスターノード:
スレーブノード:
13.メインノードでコマンドを実行して、構築結果を確認します。
[root@localhost ~]# su - postgres
-bash-4.2$ psql
postgres=# \x on
postgres=# select * from pg_stat_activity where usename = 'dbbak';
4、テスト:
1.メインノードにデータベースを作成します。
postgres=# create database dbtest owner postgres;
2.スレーブノードで表示します。
この時点で、Centos7.x PostgreSqlデータベースのマスタースレーブ同期環境がセットアップされ、構成されています。