Ubuntu 18.04: What's New?
目次:
- 前提条件
- Ubuntuの上でPostgreSQLをインストール
- PostgreSQLのロールと認証方法
- PostgreSQLロールとデータベースの作成
- PostgreSQLサーバーへのリモートアクセスを有効にする
- 結論
PostgreSQLまたはPostgresは、オープンソースの汎用オブジェクトリレーショナルデータベース管理システムです。 PostgreSQLには、複雑なWebアプリケーションを作成できる多くの高度な機能があります。
このチュートリアルでは、Ubuntu 18.04にPostgreSQLをインストールする方法を示し、基本的なデータベース管理の基礎を探ります。
前提条件
このチュートリアルを続ける前に、sudo特権を持つユーザーとしてログインしていることを確認してください。
Ubuntuの上でPostgreSQLをインストール
この記事を書いている時点では、公式のUbuntuリポジトリから入手できるPostgreSQLの最新バージョンはPostgreSQLバージョン10.4です。
UbuntuサーバーにPostgreSQLをインストールするには、次の手順に従います。
-
PostgreSQLのインストール
ローカルパッケージインデックスを更新し、PostgreSQLデータベースにいくつかの追加機能を提供するPostgreSQL contribパッケージとともにPostgreSQLサーバーをインストールします。
sudo apt update
sudo apt install postgresql postgresql-contrib
確認PostgreSQLのインストール
インストールが完了すると、PostgreSQLサービスが自動的に開始されます。
インストールを確認するために、
psql
を使用してPostgreSQLデータベースサーバーに接続し、サーバーバージョンを出力します。sudo -u postgres psql -c "SELECT version();"
PostgreSQLのロールと認証方法
PostgreSQL内のデータベースアクセス許可は、ロールの概念で処理されます。 ロールは、データベースユーザーまたはデータベースユーザーのグループを表すことができます。
PostgreSQLは複数の認証方法をサポートしています。 最も一般的に使用されています。
- 信頼-この方法では、
pg_hba.conf
定義された条件が満たされている限り、ロールはパスワードなしで接続できます。パスワード-ロールはパスワードを提供することで接続できます。 パスワードはscram-sha-256
md5
およびpassword
(clear-text)Identとして保存できます-この方法はTCP / IP接続でのみサポートされます。 オプションのユーザー名マッピングを使用して、クライアントのオペレーティングシステムのユーザー名を取得することで機能します。ピア-Identと同じですが、ローカル接続でのみサポートされます。
PostgreSQLのクライアント認証は、名前の設定ファイルで定義されて
pg_hba.conf
。 ローカル接続のデフォルトでは、PostgreSQLは、ピアの認証方法を使用するように設定されています。
postgres
あなたは、PostgreSQLのインストール時にユーザーが自動的に作成されます。 このユーザーは、PostgreSQLインスタンスのスーパーユーザーであり、MySQLのrootユーザと同等です。
PostgreSQLサーバーにpostgresユーザーとしてログインするには、まずユーザーpostgresに切り替える必要があります。その後、
psql
ユーティリティを使用してPostgreSQLプロンプトにアクセスできます。
sudo su - postgres
psql
ここからは、あなたのPostgreSQLインスタンスと対話することができます。 PostgreSQLシェルを終了するには、次のように入力します。
\q
sudo
コマンドを使用して、ユーザーを切り替えずにPostgreSQLプロンプトにアクセスすることもできます。
sudo -u postgres psql
通常、
postgres
ユーザーはローカルホストからのみ使用され、このユーザーのパスワードを設定しないことをお勧めします。
PostgreSQLロールとデータベースの作成
あなたは使用してコマンドラインから新しい役割を作成することができ
createuser
コマンドを。
CREATEROLE
特権を
CREATEROLE
スーパーユーザーとロールのみが新しいロールを作成できます。
次の例では、
john
という名前の新しいロールを
johndb
という名前のデータベースに作成し、データベースに対する特権を付与します。
-
新しいPostgreSQLの役割を作成します。
次のコマンドは、ジョンという名前の新しいロールを作成します。
sudo su - postgres -c "createuser john"
新しいPostgreSQLデータベースを作成します。
使用johndbという名前の新しいデータベースを作成
createdb
コマンドを:sudo su - postgres -c "createdb johndb"
権限の付与
前の手順で作成したデータベースの
john
ユーザーにアクセス許可を付与するには、PostgreSQLシェルに接続します。sudo -u postgres psql
そして次のクエリを実行します。
grant all privileges on database johndb to john;
PostgreSQLサーバーへのリモートアクセスを有効にする
デフォルトでは、PostgreSQLサーバは、ローカルインターフェイス上でリッスン
127.0.0.1
。 PostgreSQLサーバーへのリモートアクセスを有効にするには、構成ファイル
postgresql.conf
を開き、
listen_addresses = '*'
CONNECTIONS AND AUTHENTICATION
セクションに
listen_addresses = '*'
を追加します。
sudo vim /etc/postgresql/10/main/postgresql.conf
/etc/postgresql/10/main/postgresql.conf
#------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on;
ファイルを保存し、PostgreSQLサービスを再起動します:
sudo service postgresql restart
ss
ユーティリティで変更を確認します。
ss -nlt | grep 5432
LISTEN 0 128 0.0.0.0:5432 0.0.0.0:* LISTEN 0 128:5432:*
上記の出力からわかるように、PostgreSQLサーバーはすべてのインターフェイス(0.0.0.0)でリッスンしています。
最後の手順は、
pg_hba.conf
ファイルを編集して、リモート接続を受け入れるようにサーバーを構成することです。
以下に、さまざまな使用例を示すいくつかの例を示します。
/etc/postgresql/10/main/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD # The user jane will be able to access all databases from all locations using a md5 password host all jane 0.0.0.0/0 md5 # The user jane will be able to access only the janedb from all locations using a md5 password host janedb jane 0.0.0.0/0 md5 # The user jane will be able to access all databases from a trusted location (192.168.1.134) without a password host all jane 192.168.1.134 trust
結論
Ubuntu 18.04サーバーにPostgreSQLをインストールおよび構成する方法を学習しました。
このトピックの詳細については、PostgreSQL 10.4ドキュメントを参照してください。
UbuntuのPostgreSQLデータベースファーストルック:Ubuntu 7.10デスクトップLinux

「Gutsy Gibbon」リリースは、フラッシュと機能をもたらし、デスクトップLinuxのリーダーとしてUbuntuをリードしています。 Webサイトやデータベースを実行するためのLinuxディストリビューションの選択は簡単です。 Linuxは長年にわたってサーバをうまく処理してきました。しかし、デスクトップ上でLinuxを正しく利用することは常に困難でした。そのため、Ubuntuは3年前に初めて登場したときにこのような話題を呼びました。 Ubuntuバージョン7.10(コードネームGutsy Gibbon)は、グラフィクスの改善、ソフトウェアインストールの簡素化、およびソフトウェアのマイナーな改良など、過去の成功を基盤にしています。
デスクトップLinux Face-Off:Ubuntu 8.04対Fedora 9

世界最大の2つの新バージョンLinuxのディストリビューションが勢ぞろいしています。彼らはどのようにマッチするのですか?
Ubuntu 9.04 Beta:クイックルック

Ubuntu Jaunty Jackalopeの予定されたベータ版が到着しました。ここでは、どのように形作っているかを見ていきます。