CentOSにPostgreSQLをインストールし、構成する方法
CentOSでデータベースを管理するより良い方法を探していますか?ここでは、あなたのマシンにPostgreSQLをインストールして設定する方法を紹介します。
PostgreSQLは、LinuxとWindowsの両方のマシンで動作する堅牢で高いスケーラビリティを持つデータベースシステムです。このエンタープライズレベルのソフトウェアは、アプリケーションを作成するための優れた信頼性とデータ整合性を提供します。
PostgreSQLは、単一のマシンから大規模なデータウェアハウスまで、さまざまなワークロードを処理できる多用途なソフトウェアです。トランザクションのACID特性、更新可能なビュー、外部キー、クロスプラットフォーム統合などの機能を提供しています。
CentOSにPostgreSQLをインストールする方法
CentOSは少し異なる動作をし、システムをブートした直後にrootアクセスはありません。rootユーザーとしてログインするには、su コマンドを使用します。
suシステムは、すべての管理者権限を持つスーパーユーザーとしてログインします。
ステップ1: 事前にインストールされたパッケージを更新およびアップグレードする
次のステップの一部として、CentOS内の既存のパッケージを更新およびアップグレードする必要があります。これを行うには、ターミナルで次のコマンドを実行してください:
sudo yum check-update出力 :
次のコマンドをターミナルに入力して、リストされたすべてのパッケージをアップグレードします:
sudo yum updateパッケージをアップグレードしたら、システムを再起動する必要があります。次のコマンドを使用してください:
sudo rebootシステムは新しく更新されたパッケージで準備が整いました。CentOSマシンにPostgreSQLをインストールする時が来ました。
ステップ2: 既存のデフォルトバージョンがあるか確認する
新しいインストールを行う前に、利用可能なPostgreSQLのデフォルトバージョンを確認することが重要です。
dnf module list postgresqlデフォルトでは、インストールを進める場合、インストールコマンドはPostgreSQLバージョン10をインストールします。
このガイドを書いている時点でバージョン13が利用可能であるため、デフォルトのインストールを制限し、最新のPostgreSQLを有効にするために以下のコマンドを使用します。
sudo dnf module enable postgresql:13
ステップ3: PostgreSQLサーバーパッケージをインストールする
前述のコマンドを使用してデフォルトのバージョンを変更した後は、PostgreSQLサーバーおよびクライアントパッケージをインストールする時です。
sudo dnf install postgresql-serverサーバーをインストールしたら、PostgreSQLデータベースを初期化する必要があります。初期化するには、次のコマンドを実行してください:
postgresql-setup --initdb初期化後、PostgreSQLサービスを開始します。システム起動時に自動的に有効にするには、以下のコマンドを使用してください:
systemctl enable postgresql
systemctl start postgresqlPostgreSQLサービスの状態を確認するには、以下のコマンドを実行します:
systemctl status postgresql出力に「アクティブ」と表示されている場合、サービスは稼働中です。
ステップ4:PostgreSQLデータベースの設定
インストール後は、PostgreSQLデータベースの設定を行うことをお勧めします。アカウントを保護するために、passwdユーティリティを使用してpostgresシステムユーザーアカウントのパスワードを作成してください。
passwd postgres
出力 :
システムはあなたにパスワードを2回入力するように求めます。両方の回で正しいパスワードを入力するようにしてください。
ユーザーアカウントのパスワードを設定した後、suを使用してpostgresアカウントにログインします:
su - postgresステップ5:新しいユーザー役割の作成
PostgreSQLの使用は一人のユーザーに限らないため、既存のリストに他のユーザーを追加する自由があります。
createuser コマンドを --interactive フラグと共に使用して、追加のユーザーを追加します。また、設定したいアクセス種類を指定してください。postgres アカウントでログインしている場合は、次のように入力します:
createuser --interactiveシステムアカウントに頻繁に移動することに興味がない場合は、sudoコマンドを使ってユーザーを追加するオプションがあります。
sudo -u postgres createuser --interactiveどちらのシナリオでも、システムは追加する役割名と、この新しく作成されたユーザーのアクセス形式を要求します。スーパーユーザーの役割タイプについてyとnのいずれかを選択してください。
追加のフラグを確認するには、常にcreateuserコマンドのマニュアルページを参照できます。
man createuserPostgreSQLを使用して新しいデータベースを作成する方法
あなたのマシンでPostgreSQLを設定したので、新しいデータベースを作成し、新しいテーブルを追加する時が来ました。
新しいロールでPostgreSQLプロンプトにアクセスする
ユーザーを追加したら、当然のことながらPostgreSQLを有効に活用したいと思うでしょう。しかし、その前に、PostgreSQLのロールとデータベースと同じ名前のユーザーを作成する必要があります。
そのようなユーザーIDが利用できない場合は、adduser コマンドを使用してtestという名前の新しいユーザーを作成してください。
sudo adduser test-i と -u フラグを使用して新しいユーザーとしてログインします。
sudo -i -u test新しいデータベースの作成
PostgreSQL内に新しいデータベースを作成するには、次のコマンドを使用します:
createdb databasename管理コマンドを発行するには、postgresシステムユーザーとしてログインしている必要がありますのでご注意ください。
データベース内に新しいテーブルを作成する
新しいテーブルを作成してデータを保存しましょう。新しいテーブルにフィールドを追加する基本的な構文は非常に簡単です。
CREATE TABLE table_name (
column_name1 col_type (field_length),
column_name2 col_type (field_length),
column_name3 col_type (field_length)
);...ここでtable_nameはユーザーによって設定された希望の名前であり、column_name1、column_name2などは列名、col_typeは列の型、field_lengthはデータ構造のサイズであり、値をより堅牢にするためのものです。
例えば、次の列を持つホテルテーブルを作成できます:
CREATE TABLE hotel (
hotel_id serial PRIMARY KEY,
star varchar (50) NOT NULL,
paint varchar (25) NOT NULL,
location varchar(25) check (location in ('north', 'south', 'west', 'east', 'northeast', 'southeast', 'southwest', 'northwest')),
date date)
;..テーブル名はホテルで、カラムはhotel_id、star、paint、location、dateそれぞれの長さとカラム制約があります。
データベースに値を追加する
テーブル構造が準備できたら、既存のテーブルにデータを追加できます。データを追加するためには、次の形式でINSERT INTO文を使用します:
INSERT INTO table (column_name1, column_name2, column_name3) VALUES ('value1', 'value2', 'value3');例えば、上記で作成したホテルテーブルにデータの行を追加します。
INSERT INTO hotel (hotel, star, location, install_date) VALUES ('Plaza', 'Five', 'northwest', '2018-08-16')CentOSでのPostgreSQLの構成
PostgreSQLを設定するには、正しい方法でインストールするのが最適です。適切な設定が整っていれば、PostgreSQLを簡単にインストールし、システム内で効率的に使用することができます。
CentOSの他にも、Ubuntuなどの他のLinuxディストリビューションでPostgreSQLを設定することもできます。








