ubuntuでPostgreSQLの初期設定まで
設定に関しては、こちらを参考にしました。
UbuntuでPostgreSQLを使ってみよう (2) | Let's Postgres
まず、インストール
$ sudo apt-get install postgresql
データベースサーバにアクセスできるかどうか試験するため、データベースの作成をしてみる。
$ creatdb mydb createdb: could not connect to database template1: FATAL: role "yoshi" does not exist
この表示は管理者がそのユーザー用のPostgreSQLユーザアカウントを作成していない時に起こるそう。
なので、まずアカウントを作成することにする。
21.1. データベースロール
fingerコマンドで『postgres』というアカウント が作成されていることを確認する。
$ finger postgres Login: postgres Name: PostgreSQL administrator Directory: /var/lib/postgresql Shell: /bin/bash Never logged in. No mail. No Plan.
確認できたら、postgresユーザでログインできるようにパスワードを設定する。
$ sudo passwd postgres 新しい UNIX パスワードを入力してください: 新しい UNIX パスワードを再入力してください: passwd: パスワードは正しく更新されました
設定が完了し、postgres ユーザでログインできるようになった。
suコマンドでpostgresユーザーになり、
createdb コマンドでデータベースを作る
#mydbは任意の名前 $ su postgres postgres@ubuntu:/home/yoshi$ createdb mydb
psqlコマンドでmydbに接続する
postgres@ubuntu:/home/yoshi$ psql mydb psql (10.5 (Ubuntu 10.5-0ubuntu0.18.04)) Type "help" for help. mydb=#
mydbに入れたら、CREATE ROLE SQLコマンドで新規ユーザを作成し、データベースを操作できるようにする。
#nameは任意の名前(私はオペレーティングシステムユーザと同じ名前にしました) #WITH LOGINを追加して、ログイン許可を与える mydb=# CREATE ROLE name WITH LOGIN; CREATE ROLE
PostgreSQLを切断し、さきほど設定した新規ユーザー(オペレーティングシステムユーザと同じ名前)で再度PostgreSQLに接続
mydb=# \q postgres@ubuntu:/home/yoshi$ exit $ psql mydb psql (10.5 (Ubuntu 10.5-0ubuntu0.18.04)) Type "help" for help. mydb=>
無事、データベースに自分のアカウントでログインできるようになった。