ユーザー作成 # cd /usr/local/pgsql/bin
# ./createuser (-P)
(-P・・・パスワードも設定)
データベース作成 # cd /usr/local/pgsql/bin
# ./createdb -E EUC_JP [db_name]
# ./createdb [db_name] -E EUC_JP
ユーザー作成2 # cd /usr/local/pgsql/bin
# ./psql [db_name]
-> create user [username]
パスワード変更 # cd /usr/local/pgsql/bin
# ./psql [db_name]
-> alter user [username] password '[password]';
テーブル&カラム作成 # cd /usr/local/pgsql/bin
# ./psql [db_name]
(-> \encoding SJIS)
-> create table [table_name] ([column_name] [data type],・・・);

※ 複数入力するときは「,」で区切り最後に「);」で終了する
 

データ型 説明
int2 符合付整数(smallint)
int4 符合付整数(numeric)
float8 倍精度浮動少数(real)
char(n) 固定長文字列
varchar(n) 可変長文字列
date 日付 (年月日)
time 時刻 (時分秒)
timestamp
(datetime)
日付と時刻
serial オートナンバー
text 最大文字数を指定する必要のない可変長文字列
box 1.0, 2.0 のように矩形を指定できる
circle 中心(x,y)、半径 r の円を x,y,r で表せる
lseg x1,y1 から x2,y2 までの直線を(x1,y1),(x2,y2)といった形式で表せる
path 経路上の点のリストを(x1,y1),(x2,y2),... といった形式で表現できる
point 1点を x,yといった形式で表現できる
polygon (x1,y1),(x2,y2),...といった形式で点を結んで出来る多角形を表現できる
データの追加 -> insert into [tabel_name] ([column_name],・・・) value ('data',・・・)

テキストはシングルコーテーション「’」で囲む。数字はそのまま

データの表示 select *(すべて,[column_name]で特定のカラムのみ表示) from [table_name]
データの変更 -> update [table_name] set [column_name1] = 'data' where [column_name2] = 'data'

※「,」で区切ると複数の変更も可

データの削除 -> delete from [table_name] where [column_name] = 'data'

!where の後に何も指定しないとすべて削除されます

カラムの追加 -> alter table [table_name] add [column_name] [column_type];
既存のカラム名の変更 -> alter table [table_name] rename [old_column_name] to [new_column_name];
既存カラムの削除 -> SELECT ... -- 削除したい列以外の列をすべて選択。
=>into table [new_table_name] from [old_table_name];
->drop table [old_table_name];
->alter table [new_table_name] rename to [old_table_name];
既存のテーブル名の変更 -> alter table OLD_TABLENAME rename to NEW_TABLENAME;
テーブルの削除 ->drop table [table_name]
別のテーブルへのデータの移行
(テーブルが作ってある)
->insert into [new_table_name] select * from [old_table_name];
データベースのバックアップ # pg_dump -D [dbname] > [filename]
バックアップデータのリストア # psql -e [dbname] < [filename]
テキストよりのインポート ->\copy [table_name] from [file]
※ファイルの文字コードはEUC 改行コードはLF
データの区切り文字はtab

->\copy [table_name] from [file] using delimiters ','
カンマ区切り

:serialのあるテーブルへのインポート
-> create table temp_table (a text,b text,c text);
※()内はターゲットテーブルと同じ様にすること
-> \copy [temp_table] from [file]
-> insert into [target_table] (a,b,c) select * from [temp_table]

ファイルよりコマンドの実行 \i [file]
権限の変更 権限の追加  grant [権限] on [table_name] to ( public | group [group_name] | [user_name] )
権限の削除  revoke [権限] on [table_name] from ( public | group [group_name] | [user_name] )

権限 : ALL | SELECT | INSERT | UPDATE | DELETE | RULE