ウェブサイト検索

Linux でソースコードを使用して PostgreSQL をインストールする方法


オープンソースのリレーショナル データベース管理システムである PostgreSQL は、その堅牢な機能と拡張性で広く知られています。多くの Linux ディストリビューションはパッケージ マネージャーを通じて PostgreSQL を提供しますが、ソースからインストールすると、より高度なカスタマイズと制御が可能になります。

この記事では、Linux システムにソース コード インストールを使用してPostgreSQL 16 をインストールする方法を説明します。

配布パッケージ マネージャーから簡単にインストールする方法をお探しの場合は、以下のガイドに従ってください。

前提条件

PostgreSQL のインストール プロセスに入る前に、システムが次の前提条件を満たしていることを確認してください。

  • Linux ディストリビューション (このガイドでは、デモの目的でDebian を使用します)。
  • sudo 権限を持つ非 root ユーザーがいる Linux システム。
  • GCCMake などの必須の開発ツールがインストールされています。

1. Linux に前提条件をインストールする

まず、図に示すように、配布パッケージ マネージャーを使用してGCCMakeなどの重要な開発ツールをインストールします。

CentOSFedoraRocky LinuxAlma Linuxなどの RHEL ベースのディストリビューションの場合:

sudo yum groupinstall development-tools
sudo yum install zlib-devel readline-devel libicu-devel

UbuntuLinux 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 インストールに対する柔軟性と制御が提供され、特定の要件に合わせてカスタマイズできます。