Centos7.xPostgreSqlデータベースのマスタースレーブ同期環境の確立と構成を覚えておいてください

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データベースのマスタースレーブ同期環境がセットアップされ、構成されています。

おすすめ

転載: blog.csdn.net/llwy1428/article/details/107531011