Linux でソースコードを使用して PostgreSQL をインストールする方法
オープンソースのリレーショナル データベース管理システムである PostgreSQL は、その堅牢な機能と拡張性で広く知られています。多くの Linux ディストリビューションはパッケージ マネージャーを通じて PostgreSQL を提供しますが、ソースからインストールすると、より高度なカスタマイズと制御が可能になります。
この記事では、Linux システムにソース コード インストールを使用してPostgreSQL 16 をインストールする方法を説明します。
配布パッケージ マネージャーから簡単にインストールする方法をお探しの場合は、以下のガイドに従ってください。
前提条件
PostgreSQL のインストール プロセスに入る前に、システムが次の前提条件を満たしていることを確認してください。
- Linux ディストリビューション (このガイドでは、デモの目的でDebian を使用します)。
- sudo 権限を持つ非 root ユーザーがいる Linux システム。
- GCC や Make などの必須の開発ツールがインストールされています。
1. Linux に前提条件をインストールする
まず、図に示すように、配布パッケージ マネージャーを使用してGCCやMakeなどの重要な開発ツールをインストールします。
CentOS、Fedora、Rocky Linux、Alma Linuxなどの RHEL ベースのディストリビューションの場合:
sudo yum groupinstall development-tools
sudo yum install zlib-devel readline-devel libicu-devel
Ubuntu や Linux Mint などの Debian ベースのディストリビューション。
sudo apt install gcc build-essential zlib1g-dev libreadline6-dev libicu-dev pkg-config
2. PostgreSQL ソース コードをダウンロードする
必要な前提条件がインストールされたら、次の wget コマンドをシステム上で直接使用して、公式 postgres Web サイトからソース コード tar ファイルをダウンロードします。執筆時点での最新バージョンはPostgreSQL 16.1です。
wget https://ftp.postgresql.org/pub/source/v16.1/postgresql-16.1.tar.bz2
次に、tar コマンドを使用して、ダウンロードした tarball ファイルを抽出します。 postgresql-16.1 という名前の新しいディレクトリが作成されます。
tar -xvf postgresql-16.1.tar.bz2
cd postgresql-16.1/
ls -l
サンプル出力:
-rw-r--r--. 1 tecmint tecmint 365 Nov 7 03:34 aclocal.m4
drwxr-xr-x. 2 tecmint tecmint 4096 Nov 7 03:47 config
-rwxr-xr-x. 1 tecmint tecmint 584560 Nov 7 03:34 configure
-rw-r--r--. 1 tecmint tecmint 87292 Nov 7 03:34 configure.ac
drwxr-xr-x. 61 tecmint tecmint 4096 Nov 7 03:47 contrib
-rw-r--r--. 1 tecmint tecmint 1192 Nov 7 03:34 COPYRIGHT
drwxr-xr-x. 3 tecmint tecmint 4096 Nov 7 03:47 doc
-rw-r--r--. 1 tecmint tecmint 4288 Nov 7 03:34 GNUmakefile.in
-rw-r--r--. 1 tecmint tecmint 277 Nov 7 03:34 HISTORY
-rw-r--r--. 1 tecmint tecmint 64601 Nov 7 03:48 INSTALL
-rw-r--r--. 1 tecmint tecmint 1875 Nov 7 03:34 Makefile
-rw-r--r--. 1 tecmint tecmint 102017 Nov 7 03:47 meson.build
-rw-r--r--. 1 tecmint tecmint 6266 Nov 7 03:34 meson_options.txt
-rw-r--r--. 1 tecmint tecmint 1213 Nov 7 03:34 README
drwxr-xr-x. 16 tecmint tecmint 4096 Nov 7 03:48 src
3. ソースから PostgreSQL を構成する
postgres はオープンソース データベースであるため、ニーズ/要件に応じてソース コードから構築できます。さまざまな追加機能に対して 1 つ以上のコマンドライン オプションを指定することで、ビルドとインストールのプロセスをカスタマイズできます。
以下に示すように、さまざまなオプションと構成の使用法に関するヘルプを表示するには、次のコマンドを使用します。
./configure --help
次に、configure スクリプトを実行します。これにより、システムの依存関係がチェックされ、それに応じてビルドが構成されます。
./configure
4. ソースから PostgreSQL をインストールする
構成が完了したら、次のコマンドを使用して、ソースから PostgreSQL をビルドしてインストールします。
make
sudo make install
5. Postgres ユーザーの作成
ここで、 データベース クラスターを初期化するためのデータ ディレクトリとして使用されるpostgres ユーザーとディレクトリを作成します。このデータディレクトリの所有者はpostgresユーザーである必要があり、 アクセス許可は700である必要があり、簡単にするためにpostgresqlバイナリのパスも設定します。
sudo useradd postgres
sudo passwd postgres
sudo mkdir -p /pgdatabase/data
sudo chown -R postgres: /pgdatabase/data
sudo sh -c "echo 'export PATH=$PATH:/opt/PostgreSQL/bin' > /etc/profile.d/postgres.sh"
source /etc/profile.d/postgres.sh
6. Postgresデータベースの初期化
次に、postgres コマンドを使用する前に、postgres ユーザーとして次のコマンドを使用してデータベースを初期化します。
su postgres
initdb -D /pgdatabase/data/ -U postgres -W
ここで、-D
はこのデータベース クラスターの場所、またはデータベース クラスターを初期化するデータ ディレクトリであると言えます。-U
はデータベース スーパーユーザー名、-W
は DB スーパーユーザーのパスワード プロンプトです。
詳細とオプションについては、initdb --help
を参照してください。
7.PostgreSQLサービスの開始
データベースを初期化した後、データベース クラスターを起動します。または、ポートを変更するか、サーバーのアドレスをリッスンする必要がある場合は、データ ディレクトリにある /pgdatabase/data/postgresql.conf ファイルを編集します。データベースサーバー。
nano /pgdatabase/data/postgresql.conf
次に、PostgreSQL サービスを開始します。
pg_ctl -D /pgdatabase/data/ start
データベースを起動した後、次の ps および netstat コマンドを使用して、postgres サーバー プロセスのステータスを確認します。
ps -ef |grep -i postgres
netstat -apn |grep -i 51751
データベース クラスターが正常に実行されており、データベース クラスターの起動中に -l
オプションで指定された場所に起動ログが見つかることがわかります。
pg_ctl -D /pgdatabase/data/ -l logfile start
8.PostgreSQLに接続する
次に、データベース クラスターに接続し、次のコマンドを使用してデータベースを作成します。
psql -p 5432
postgres=# create database test;
postgres=# \l to list all databases in cluster
postgres=# \q to quit form postgres console
PostgreSQL を管理するための pgAdmin というグラフィカル ツールをお探しの場合は、次のガイドに従って Linux ディストリビューションに pgAdmin をインストールしてください。
結論
Linux システムにソースからPostgreSQL を正常にインストールしました。このプロセスにより、PostgreSQL インストールに対する柔軟性と制御が提供され、特定の要件に合わせてカスタマイズできます。