「PostgreSQLでよくやること」の版間の差分

提供: オレッジベース
移動先: 案内検索
(restore)
(database)
44行目: 44行目:
 
=== 切り替え ===
 
=== 切り替え ===
 
<syntaxhighlight lang="sql">
 
<syntaxhighlight lang="sql">
# \c <DABASE_NAME>
+
# \c <DATABASE_NAME>
 
</syntaxhighlight>
 
</syntaxhighlight>
 
=== 作成 ===
 
=== 作成 ===
 +
<syntaxhighlight lang="bash">
 +
$ createdb -U <ROLE_NAME> <DATABASE_NAME>
 +
</syntaxhighlight>
 +
or
 
<syntaxhighlight lang="sql">
 
<syntaxhighlight lang="sql">
# CREATE DATABASE <DABASE_NAME>;
+
# CREATE DATABASE <DATABASE_NAME>;
 
</syntaxhighlight>
 
</syntaxhighlight>
 
or
 
or
 
<syntaxhighlight lang="sql">
 
<syntaxhighlight lang="sql">
# CREATE DATABASE <DABASE_NAME> OWNER <ROLE_NAME>;
+
# CREATE DATABASE <DATABASE_NAME> OWNER <ROLE_NAME>;
 
</syntaxhighlight>
 
</syntaxhighlight>
 
=== 削除 ===
 
=== 削除 ===
 +
<syntaxhighlight lang="bash">
 +
$ dropdb -U <ROLE_NAME> <DATABASE_NAME>
 +
</syntaxhighlight>
 +
or
 
<syntaxhighlight lang="sql">
 
<syntaxhighlight lang="sql">
 
# DROP DATABASE <DATABASE_NAME>;
 
# DROP DATABASE <DATABASE_NAME>;
 
</syntaxhighlight>
 
</syntaxhighlight>
 
 
  
 
== table ==
 
== table ==

2019年7月18日 (木) 13:57時点における版

dump/restore

dump

$ pg_dump <DATABASE_NAME> > <FILE_NAME>

or

$ pg_dump -Fc <DATABASE_NAME> > <FILE_NAME>

restore

$ psql <DATABASE_NAME> < <FILE_NAME>

or pg_dumpでFcやFtをつけてたらこっち

$ pg_restore -d <DATABASE_NAME> <FILE_NAME>

role

一覧

# \du

作成

# CREATE ROLE <ROLE_NAME> WITH LOGIN PASSWORD '<PASSWORD>';

名前変更

# ALTER ROLE <OLD_ROLE_NAME> TO <NEW_ROLE_NAME>

削除

# DROP ROLE <ROLE_NAME>;


database

一覧

# \l

切り替え

# \c <DATABASE_NAME>

作成

$ createdb -U <ROLE_NAME> <DATABASE_NAME>

or

# CREATE DATABASE <DATABASE_NAME>;

or

# CREATE DATABASE <DATABASE_NAME> OWNER <ROLE_NAME>;

削除

$ dropdb -U <ROLE_NAME> <DATABASE_NAME>

or

# DROP DATABASE <DATABASE_NAME>;

table

一覧(viewとかも)

# \d

一覧(tableだけ)

# \dt

作成

# CREATE TABLE IF NOT EXISTS <TABLE_NAME>(
    id BIGSERIAL,
    <COLUMN_NAME> <TYPE>,
    ...,
    PRIMARY KEY (id)
);
COMMENT ON COLUMN <TABLE_NAME>.id IS 'ID';
COMMENT ON COLUMN <TABLE_NAME>.<COLUMN_NAME>IS '<COMMENT>';
...

削除

# DROP TABLE IF EXISTS <TABLE_NAME>;


schema

一覧

# \dn

確認

# SELECT current_schema;

作成

# CREATE SCHEMA <SCHEMA_NAME>;

名前変更

# ALTER SCHEMA <OLD_NAME> RENAME TO <NEW_NAME>;

search_path変更

# SET search_path TO <SCHEMA_NAME>;

or

# ALTER USER <ROLE_NAME> SET search_path TO <SCHEMA_NAME>;

削除

# DROP SCHEMA <SCHEMA_NAME>;

or スキーマ内のテーブルごと削除

# DROP SCHEMA <SCHEMA_NAME> CASCADE;