初期設定この記事ではPostgreSQLの導入方法と、テーブルを作成して使用できるまでについてコマンドとともに解説しています。RDBMSやSQLに関しては特に解説できていません。環境構築のみとなっています。外部からのアクセスを許可する参考この記事でできることPostgreSQLをインストールしてpsqlコマンドを実行することができるようになる。ロール・データベースを作成して接続することができる。作成したロールでテーブル操作ができることを確認する。設定を変更して、パスワード認証・外部からの接続ができるようになる。インストールそれではインストールしていきます。PostgreSQLをインストールするにはいつも通りapt-getコマンドを利用してインストールすることができます。apt-getコマンドの実行には管理者権限が必要なのでここではsudoを使用します。PiのOSのバージョンがBusterであれば11、Stretchであれば9.4がインストールされます。インストールが完了するとpostgresユーザーとpsqlコマンド・PostgreSQL用のコマンド(createdbなど)が追加されます。psqlユーザーにはパスワードが設定されていないのでそのままではログインすることができません。パスワードを設定するか、rootユーザー経由でsuする必要があります。以下のコマンドでパスワードを設定します。postgres環境構築PostgreSQL上で使用するユーザーを追加するまずはPostgreSQL用のユーザーを追加します。ここで追加するユーザーはLinux上で使用しているユーザー(suなどでログインできるユーザー)とは異なり、同じ名前のユーザーでも新たに作成する必要があります。データベース用のユーザーとLinuxでデータベースを管理することになるユーザー名は一致させておくと後々ログイン認証時に楽になります。ユーザー名が異なっているといちいちユーザー名を指定することになったり、他のLinuxユーザーでデータベースに接続には設定を変更したりする(対向認証の解除)必要があります。以下コマンドを実行してユーザーを追加することができます。実行するユーザーはpostgresである必要があります。ここもtaneyatsにそろえておくと便利です。データベースを作成するデータベースを作成することによって、テーブルを作成することができるようになります。概念としてのデータベースと同じ名前でややこしいですが、ここではデータベースはエクセルの1ファイル、テーブルがその中の1シート、レコードがシート内の行というイメージが分かりやすいかもしれません。今からそのエクセルファイルを新規に作成していきます。以下のコマンドをコマンドライン上で実行してデータベースを作成します。こちらもpostgresユーザーである必要があります。[間違えたデータベース名]で削除することができます。作成したデータベースに接続する以下のコマンドで作成したデータベースに接続して中身を見るSQLを発行することができます。このコマンドpostgresユーザーでなくてもOKです。[データベース名]接続できると以下のように表示されます。help.[DB名]=>この状態でSQLを発行することができます。=>が=#となっているときはPostgreSQL上での管理者権限を有している状態です。試しにいくつかSQLを実行してみます。文頭の>は入力しません。row)ちゃんと実行されていますね。対向認証を解除するインストールしたままの状態だとPostgreSQL上でのユーザーとLinux上でのユーザー名が一致していないとデータベースに接続することができない状態になっています。"postgres"また一致しているとパスワード無しで接続できるので、どのような状態でもパスワード認証するようにします。設定ファイルは/etc/postgresql/11/main/pg_hba.confにあります。11の部分はバージョンによって変動します。vimなどで開くと以下のような感じになっています。allのほうの末尾にあるpeerをmd5に変更します。これによりパスワード認証が可能となります。(postgresのほうはそのままでOKです。postgresユーザは管理用なのでターミナル上でしか使わない(別サーバーからアクセスしない)ので)書き換えたら以下のコマンドでDBサーバーを再起動します。restart次の章でパスワードを設定した時に一緒に設定できているか確認します。今のままだとパスワードが追加したユーザーに設定されていないので設定します。再度postgresユーザーでpsqlコマンドを実行してパスワードを付与していきます。’[パスワード]’;で完了です。'hogehoge';と入力して実行します。ROLEと表示されたら成功です。\qと入力して接続を解除します。接続してパスワード認証が有効か確認します。:と表示されれば対向認証の解除が成功しています。続いて正しいパスワードが設定できているか確認してください。パスワードを入力して今まで通り接続できればOKです。テーブル作成・削除テスト用のテーブルを作成してCRUD操作できるか試してみます。以下のコマンドを実行してテーブルを作成します。SQLの詳細は省きます。各アプリケーション側の解説や、Qiitaの初心者向けのSQLコマンドについて参照してみてください。rows)一通り実行できることを確認しました。最後にテーブルを削除します。外部からのアクセスを許可するローカルから接続するのではなく、他ホストのサーバーからアクセスするためには設定を変更する必要があります。Pi内にある場合はこの設定は不要です。)以下のファイルを編集して外部からのアクセスを許可するようにします。ローカル内の同じセグメント(192.168.11.*)のみ許可します。on;開いて50行目ぐらいにlisten_addressesという項目がありますので、その値を'*'に変更します。一つファイルを編集します。md5もともとの設定では自環境からしか接続できないようになっているので、その下に192.168.11.*からの接続を許可するようにします。restartで再起動します。他のpsqlコマンドを使用できる環境がある場合は、Windows上でDBクライアント(pgAdminやA5M2など)がある場合は接続を確認してみてください。背景を元に戻すAdsはてなブログをはじめよう!ibuquicalligさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。