メインコンテンツにスキップ

強力で柔軟なオープンソースのリレーショナルデータベース管理システムです。 Linode'PostgreSQL One-Click App' を通じて、コミュニティに支えられたデータベースにアクセスできます。

世界で最も先進的なオープンソースデータベースであるPostreSQL(別名:Postgres)は、高度な機能やセキュリティの向上を必要とする開発者に選ばれているDBです。Linuxベースのこのデータベースは、多くのデータタイプをサポートし、洗練されたロック機能により、他のデータベースと比較して、すぐに使える高度なセキュリティを実現しています。Postgresは、進化するデータ構造やボリュームを持つ開発者や組織にとって、最もスケーラブルなソリューションです。

展開後のスタートアップ

PostgreSQLへのアクセス

PostgreSQL One-Click Appサーバのインストールが完了すると、LinodeのIPv4アドレスを使ってsshでコンソールからPostgreSQLにアクセスできるようになります。

  1. LinodeにSSH接続し、限定ユーザーアカウントを作成します。
  2. 一度ログアウトして、限定ユーザーアカウントでログインし直してください。
  3. サーバーを更新する。
    sudo apt-get update && apt-get upgrade

PostgreSQLの使用

デフォルトでは、PostgreSQLは以下の名前のLinuxユーザを作成します。 postgres をクリックすると、データベースソフトウェアにアクセスできます。

注意してください。 のです。 postgres ユーザーを他の目的(他のネットワークへの接続など)に使用してはいけません。これは、お客様のデータベースのセキュリティに重大なリスクをもたらすものです。

  1. を変更します。 postgres ユーザーのLinuxのパスワ-ドです。

    sudo passwd postgres
  2. 以下のコマンドを発行して、パスワードを設定します。 postgres データベースユーザーを必ず置き換えるようにしてください。 newpassword を強力なパスワードで設定し、安全な場所に保管してください。
su - postgres
psql -d template1 -c "ALTER USER postgres WITH PASSWORD 'newpassword';"

このユーザーは、次のように区別されます。 postgres Linuxユーザです。Linuxユーザーは、データベースにアクセスするために使用され、PostgreSQLユーザーは、データベースの管理作業を行うために使用されます。

このステップで設定したパスワードは、ネットワーク経由でデータベースに接続する際に使用されます。ローカル接続の場合、デフォルトでピア認証が使用されます。この設定を変更する方法については、「安全なローカルPostgreSQLアクセス」のセクションを参照してください。

データベースの作成

  1. というサンプルデータベースを作成します。 
    mytestdb:createdb mytestdb
  2. テスト用データベースに接続します。
    psql mytestdb
  3. 次のような出力が表示されます。
    psql (12.2 (Debian 12.2-2.pgdg90+1)) Type "help" for help. mytestdb=#
    これはPostgreSQLのクライアントシェルで,SQLコマンドを発行することができます。利用可能なコマンドのリストを見るには \h コマンドを使用しています。の後に追加することで、特定のコマンドに関する詳しい情報を得ることができます。 \h.

テーブルの作成

このセクションでは、従業員の姓と名、それぞれに一意のキーを割り当ててテスト用のデータベースを作成する例を紹介します。独自のテーブルを作成する際には、必要な数のパラメータ(列)を指定し、適切な名前を付けることができます。このセクションのコマンドは、テーブルを作成するために開いたPostgreSQLクライアントシェルから実行してください。 mytestdb データベースを使用しています。

  1. テスト用データベースに「employee」というテーブルを作成します。

    CREATE TABLE employees (employee_id int PRIMARY KEY, first_name varchar, last_name varchar);
  2. テーブルにレコードを挿入します。
    INSERT INTO employees VALUES (1, 'John', 'Doe');
  3. 従業員」のテーブルの内容を表示します。
    SELECT * FROM employees;

    これにより、次のような出力が得られます。
    employee_id | first_name | last_name
    -------------+------------+----------- 1 | John | Doe
    (1 row)
  4. を入力してPostgreSQLのシェルを終了します。 \q  コマンドのアウトプットに置き換えられます。

PostgreSQLロールの作成

PostgreSQLは、権限を指定するために使用されるロールを通じて、データベースへのアクセスを許可します。ロールは、Linuxの "ユーザ "に似た機能を持っていると理解することができます。また、Linuxの "グループ "のように、ロールを他のロールのセットとして作成することもできます。PostgreSQLのロールはグローバルに適用されますので、同じサーバ上の複数のデータベースへのアクセスを許可したい場合に、同じロールを2回作成する必要はありません。

このセクションのコマンド例は、以下のように実行します。 postgres Linuxユーザーです。

  1. 新しいユーザーロールを追加し、プロンプトでパスワードを入力します。
    createuser examplerole --pwprompt

    ロールを削除する必要がある場合は dropuser コマンドの代わりに createuser.
  2. データベースに接続します。
    psql mytestdb
    として接続されることになります。 postgres デフォルトでは、データベースユーザーです。
  3. PostgreSQLのシェルから次のように入力して、テーブルに対するすべての権限を付与します。 employees ユーザーに examplerole:
    GRANT ALL ON employees TO examplerole;
  4. を入力してPostgreSQLのシェルを終了します。 \q.

PostgreSQL One-Click AppはLinodeによって構築されています。アプリのデプロイに関するサポートは、サイドバーに記載されている情報を介してLinodeサポートに連絡してください。ツールやソフトウェア自体に関するサポートは、PostgreSQLサポートにアクセスしてください。