スポンサーリンク

PostgreSQLでサーバを起動してユーザ・データベース・テーブルを作るまで

データベースを使いたくなったのでBSD LicenseのPostgreSQLを使ってみる。

インストール

以下のサイトを参考にzipからインストールする。(これ以上うまくまとめられないのでリンク先に一任)。

https://www.flyenginer.com/low/low_db/zip%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%A7postgresql12%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B.html

なお、環境変数PGDATAを設定しないと、pg_ctl startやpg_clt stopの度に -D My-DataDirectory の指定をしなければならず面倒なことになるので設定したほうがいい。

サーバー起動・停止

サーバー起動は以下:

pg_ctl start -l C:\PostgreSQL\My-LogDirectory\postgresql.log

サーバー停止は以下:

pg_ctl stop

サーバーを停止せずにプロンプトを切ってしまった場合など、pg_ctl startが聞かなくなることがある。そういう時はrestartする。

restartは以下:

pg_ctl -D "C:\PostgreSQL\My-DataDirectory" restart

上記、My-DataDirectoryは環境変数PGDATAに指定したものと同じ。

 

データベースを使えるようにするまで

postgresユーザで接続

>psql -U postgres

psqlコマンドを使って「postgres」ユーザーで接続する。

なお接続を切るには

\q

 

データベースのユーザをパスワード付きで作成

postgres=# CREATE USER myuser WITH PASSWORD 'secret';

ユーザが作成できたかどうか確認するためにユーザ一覧を表示するには

postgres=# SELECT usename FROM pg_user;

なおユーザー削除は

postgres=# DROP USER myuser;

データベースをユーザを指定して作成

postgres=# CREATE DATABASE mydatabase OWNER myuser;

なおパスワードはユーザーに指定するもので、データベースには指定しない(戸惑った)

データベースが作成できたかどうか確認するためデータベース一覧を表示するには

postgres=# \l

なおデータベースを削除するには

postgres=# DROP DATABASE mydatabase;

データベースのテーブルへアクセス権を付与

まずpostgresユーザーでの接続を切り、

postgres=# \q

ユーザー「myuser」でデータベース「mydatabase」へ接続

 >psql -U myuser -d mydatabase

GRANT で「ALL PRIVILEGES」をすべてのテーブルへ付加

mydatabase=> GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO myuser;

データベースへテーブルを作成

mydatabase=>CREATE TABLE mytable(
ID integer,
TITLE text,
AUTHOR text
);

使用例

mydatabase=> select * from mytable;

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


この記事のトラックバックURL: