Linux サーバーに pgsql をデプロイする方法、セキュリティ バージョン、およびさまざまな問題に対する考えられる解決策 (ナニー レベルのチュートリアル)


準備

提示:市面上那些在linux服务器部署pgsql好多都是水货,效果良莠不齐,笔者花了两天时间成功部署了pgsql,记录下方便自己以后部署,也方便其他有需要的码农

サーバー環境:

CentOS Linux release 7.9.2009 (Core)

postgresql バージョン

postgresql-15.0

ミラーを介してダウンロードしないでください. 何万もの道路があり、安全が第一です. ミラーソースは必ずしも安全ではありません. 公式サイトにアクセスして正直にダウンロードしてください. 公式サイトへのリンクは次のとおりです: https ://www.postgresql.org/ftp /source/
クリックして、サフィックス形式の最新バージョンを.tar.gz圧縮パッケージ ファイルとしてダウンロードします。
私の場合、ダウンロードは v-15.0 ファイルの下にありますpostgresql-15.0.tar.gz


1. インストール

1. 圧縮パッケージをサーバーにアップロードします。

このステップではどのような管理ツールを使用しますか? アップロードするために使用します. あまり詳しく説明しません. 著者は winscp を使用してアップロードします.
アップロードするのに最適な場所は、サーバーのパッケージ管理の場所で、通常は/usr/local/srcその下にあり、従来のパッケージ管理の場所です。

2. 圧縮されたパッケージを解凍します。

このステップで注意する必要があるのは、ユーザー権限の問題により、解凍時にエラーが報告される可能性があることです. サービスにログインするユーザーは root ユーザーでなければならず、解凍された圧縮パッケージを使用する必要があることに注意してください
.tar -zxvf ./postgresql-15.0.tar.gzここで遭遇したもう 1 つの問題は、うっかり src ディレクトリに入らなかったことです。
全体的な手順は次のとおりです。

cd /usr/local/src
tar -zxvf ./postgresql-15.0.tar.gz

3. src ディレクトリに postgresql-15.0 ファイルが生成されているかどうかを確認し、生成されている場合は解凍が成功したことを意味し、生成されていない場合は上記の手順に従ってください。観察方法は、linux端末のsrcディレクトリにコマンドを入力して見る方法lsと、管理ツールで見る方法の2通りありますが、私のようにwinscpで見る方法です。
ここに画像の説明を挿入

これは私のサーバー下のエフェクト画像ですが、src ディレクトリには圧縮されたパッケージだけでなく、解凍されたファイルもあることがわかります。

4. ダウンロード指示ファイルを表示します。

postgresql-15.0 ファイルを入力します。コマンドは次のとおりです。

cd postgresql-15.0
ls

ディレクトリ内のファイルを確認すると、肉眼でINSTALLファイルが見えますが、

vim INSTALL

ファイルを確認してください。この手順は非常に重要です。このファイルは公式 Web サイトで提供されているインストール手順です。
ここに画像の説明を挿入
下部にインストール手順があることがわかります。正直にそれに従い、それらのコマンドをコピーし、これを終了する手順を示します。ページは
押すことです esc をクリックしてから、Enter を押します:q!。これは、保存せずに終了することを意味します

5. 管理ユーザーを作成します, つまり, Linux システムでユーザーを作成します. Linux で管理ユーザーを作成すると言ったことに注意してください. 次のコマンドを使用して sudo useradd+username sudo passwd+password を作成

ます
.この pgsql データベースを管理するための postgres ユーザーを作成します。
つまり、sudo useradd postgres
パスワードも設定する必要があります。念のため、
設定が完了した後にパスワードを忘れた場合は、ユーザー コマンドを削除します。

 userdel -r 用户名

コマンド
cut -d: -f1 /etc/passwdを設定して
、サーバーの下のユーザーを表示したかどうかを確認します。postgres が見つかった場合は、このユーザーを作成したことを意味します。

6. pgsql フォルダーを作成します。

/usr/local ディレクトリに pgsql フォルダーを作成し、PostgreSQL を格納します。

7. 再び /usr/local/src/postgresql-15.0 ディレクトリに戻り、./configure ファイルを実行します.このファイルを実行する理由は、
システム環境を検出するために使用できるためです (たとえば、適切なコンパイラ、このソフトウェアに必要な関数ライブラリがあるかどうかなど)。
検出後、構成プログラムは、多くのコンパイル手順を自動化するのに役立つスクリプト ファイルである GNUmakefile または makefile の作成にも役立ちます。
コマンドは次のとおりです。

cd /usr/local/src/postgresql-15.0
./configure --prefix=/usr/local/pgsql 

目的は、/usr/local/pgsql に PostgreSQL がインストールされていることを指定することです。INSTALL の手順であることがわかります。

8. /usr/local/src/postgresql-15.0 ディレクトリ内のファイルを再度確認します

ls

./configure を実行してコンパイルされたファイルが他にもいくつかあることがわかります。最も重要なことは、GNUmakefile があることです。
ここに画像の説明を挿入
1行目の下から3番目に私の言葉があるのがわかりますが、
これで扱いやすくなります。

8. make コマンドを使用してコンパイルします。

次のように:

make clean;make

しばらく待ってください。コンパイル時間が少し長くなる場合があります。ディレクトリを離れるプロンプトが表示されるまでです。一部のバージョンでは、インストールが成功したことを示すプロンプトも表示されます。これらは、使用する pgsql に応じて、英語または中国語で表示されます。インストールされています。

9. インストールが成功したかどうかを確認します。

/usr/local/pgsql を開いて確認すると、何かが既にインストールされていることがわかります。コマンドは次のとおりです。

cd /usr/local/pgsql
ls

10. ユーザー管理を確立します。

/usr/local/pgsql ディレクトリの下にデータ フォルダーを作成します。

mkdir data

前に作成した postgres ユーザーに管理データ権限を付与します

chown postgres /usr/local/pgsql/data

2. 環境変数を構成する

1. ユーザーの切り替え

コマンドは次のとおりです。

su - postgres

root を指定してユーザーを切り替える場合はパスワードは必要ありませんが、通常のユーザーがユーザーを切り替える場合はパスワードが必要です。切り替えコマンドは次のとおりです。

su - 用户名

2.構成ファイルを変更する

コマンドは次のとおりです。

vi .bashrc

結合するファイルを変更します
ここに画像の説明を挿入

それでおしまい

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

insert を押して入力し、書き込み後に esc を押し、Enter を押して:wq保存して終了します。

次に、出て入ります

source  .bashrc

構成ファイルを再検証する手段


3. データベースを確立する

または、postgres ユーザーで実行してください。! !
1. コマンド入力

initdb

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

2.
データベースを起動するコマンドは次のとおりです。

pg_ctl start

他のデータベース ディレクティブも添付する

重启:pg_ctl restart
关闭:pg_ctl stop

3. postgres ユーザーのパスワードを設定します。
ここでは、データベース スーパー ユーザー postgres のパスワードを設定することを指します。
コマンドは次のとおりです。

psql -U postgres
\password
\q

4.監視を設定する

1. /usr/local/pgsql/data の下にある pg_hba.conf 構成ファイルを変更し、IPv4 local connections の下の行を次のように変更します。効果は同じです)
ここに画像の説明を挿入
pg_hba.conf を開くコマンドは次のとおりです。

vi /usr/local/pgsql/data

postgres ユーザーの下で開くだけです.
スクリーンショットの内容を見つけて、赤い線のように変更します.
2. /usr/local/pgsql/data の下の postgresql.conf 構成ファイルを変更し、次のように変更します
ここに画像の説明を挿入
: a error in network diagram, click me このように、
listen_address = '*'
port = 5432を変更して
、ポート 5432 を開き
、すべてのアドレスを同時にリッスンします
.60 行目くらいです.私の記憶が正しければ、
3.
データベースを再起動するコマンドは上記.

pg_ctl restart

最後に、まだいくつか言いたいことがあります. デフォルトのポート 5432 を使用しないことをお勧めします. 力ずくで簡単にスキャンされて解読されます. さらに, 管理データベースのユーザーパスワードはそれと同じであってはなりません.そうしないと簡単にクラックされてしまいます. パスワードは複雑でなければなりません.

要約する

これで全体が完了しました。外部からデータベースに接続する場合は、対応するポート、つまりポート 5432 を開くことを忘れないでください。nav12 または他の接続を使用すると、列 xxx が存在しないというエラーが報告される場合があります。 . これに対する解決策は、最新の nav16 接続を使用することです。公式 Web サイトにアクセスしてダウンロードしてください。データベースの強制削除
が添付されています.データベースの操作方法がわからない場合は、私に連絡することもできます. 時間があれば必ずお手伝いします. 不足があれば修正してください.

おすすめ

転載: blog.csdn.net/weixin_51759592/article/details/127357054