ユーザーを作成する(参考URL:PostgreSQL 9.3.2文書 createuser)
createuser -d -a -E -s webuser
又はpsql内で
# CREATE USER webuser WITH SUPERUSER PASSWORD 'webuserbs';
※削除はdropuser username
パスワードを設定する
$psql
psql# \password webuser
Enter new password:
Enter it again:
psql# SELECT * FROM pg_shadow; # ユーザー確認
psql# drop user ユーザ名; # ユーザー削除
データベースを作成する
$ createdb -U username -E utf-8 -W -e hogedb ------ ;を忘れずに
-U username
-E encode
-W パスワード認証を要求
-e echo
※削除方法はdropuser username
管理者ユーザーで作成する(権限に関することはこちら)
postgres=# create role hoge superuser createdb login password '*****';
CREATE ROLE
データベースを作成する
一度¥qで抜けました。
postgres=# ¥q
createdb -U hogeuser -W -E utf-8 hogedb; ------ hogedbをhogeuser所有で作成
psql ------ 再度postmasterへログイン
postgres=# ¥l ------ できているか確認
List of databases
Name | Owner | Encoding | Collation | Ctype | Access privileges
-----------+----------+----------+-----------+-------+-----------------------
mydb | hogeuser | UTF8 | C | C |
postgres | postgres | UTF8 | C | C |
template0 | postgres | UTF8 | C | C | =c/postgres
: postgres=CTc/postgres
template1 | postgres | UTF8 | C | C | =c/postgres
: postgres=CTc/postgres
※データベースの削除はdropdb
データベースへアクセス
psql mydb
mydb-# ----- ログインできた
テーブルを作成する
CREATE TABLE table_name(column_name data_type[, column_name data_type])
スクリプトの読み込み方法
mydb-# ¥i basic.sql
basic.sqlの中身は通常のSQL文をズラズラ書くようです。
例としてテーブルを作るスクリプトを作ってみました。
(スクリプトの中身)
name.sql
CREATE TABLE mydb(nickname varchar(128),dispname varchar(128), sex int)
(スクリプト実行)
mydb-# ¥i name.sql
CREATE TABLE
mydb-# ¥d mydb
Table "public.mydb"
Column | Type | Modifiers
----------+------------------------+-----------
nickname | character varying(128) |
dispname | character varying(128) |
sex | integer |
カラムの追加
ALTER TABLE table_name ADD column_name data_type
(例)
(スクリプトの中身)
ALTER TABLE mydb ADD session varchar(64)
(スクリプト実行)
mydb-# ¥i alter.sql
ALTER TABLE
mydb-# ¥d mydb
Table "public.mydb"
Column | Type | Modifiers
---------------+------------------------+-----------
nickname | character varying(128) |
dispname | character varying(128) |
sex | integer |
session | character varying(64) |
カラムの削除
ALTER TABLE mydb DROP column_name1, DROP column_name2, .....;
PRIMARY KEYを追加する
通常、テーブルには一意のキー(ID KET)を追加します。
追加の仕方は以下の通り。(下記テーブルはスクリプトで書くのでコマンドは省略します)
CREATE TABLE mydb(
id int PRIMARY KEY, -- ID KEY
title text, -- title
comment text -- comment
);
テーブルを確認する。
mydb=# \d mydb
Table "public.mydb"
Column | Type | Modifiers
---------+---------+-----------
id | integer | not null
title | text |
comment | text |
Indexes:
"mydb_pkey" PRIMARY KEY, btree (id)
データの追加
INSERT INTO mydb(
id,
title,
comment
) VALUES (
2,
'PostgreSQL Fight',
'Do you have a pen.'
),
(
3,
'MySQL Fight!!',
'I have a pen.'
);
これで無事テーブルが追加できました。
※psql内ではこんな便利なメタコマンドがあるようです。
データベース内のテーブルを表示(¥d)
テーブルの構造を表示(¥d tablename)
psqlで使えるコマンドを表示(¥?)
psqlを終了(¥q)
参考サイト: