CREATE TABLE(テーブル作成)
CREATE TABLE テーブル名 (列名 データ型 制約 [, 列名 データ型 制約 …] );
CREATE TABLE city (id serial PRIMARY KEY, name varchar(3));
INSERT(作成)
INSERT INTO テーブル名(カラム名1,カラム名2,・・・) VALUES (値1,値2,・・・)
カラム名のところは省略可能で、その場合は値を間違えずに1番目のカラムから順番に書く。
INSERT INTO city (name) VALUES ('北海道');
UPDATE(更新)
SELECT(参照)
# SELECT * FROM city;
id | name
----+--------
1 | 北海道
(1 row)
ユーザ作成
一般ユーザをパスワードとあわせて作成する
CREATE ROLE citymanager LOGIN PASSWORD 'pass';
データベースのオーナ変更
ALTER DATABASE データベース名 OWNER TO 変更後のオーナ;
データベースのオーナーを変更しても、そのデータベース内のテーブルのオーナが変更になるわけではない。別途変更する必要がある。
ALTER DATABASE testdb OWNER TO citymanager;
テーブルのオーナ変更
ALTER TABLE テーブル名 OWNER TO 変更後のオーナ;
全テーブル(+シーケンス等も)変更するのは大変なので、こちらの方の方法が簡単。ただし、postgresユーザから変更をかける場合、管理系のテーブル(pg_なにがし)もリストアップされるので、それらはやらず、publicテーブルに絞る。
PostgreSQLでテーブルオーナを一括変更する方法