¾�ΥС�������ʸ�� �� 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

CREATE TABLE

名前

CREATE TABLE -- �������ơ��֥���������

概要

CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name ( [
  { column_name data_type [ DEFAULT default_expr ] [ column_constraint [ ... ] ]
    | table_constraint
    | LIKE parent_table [ { INCLUDING | EXCLUDING } { DEFAULTS | CONSTRAINTS | INDEXES } ] ... }
    [, ... ]
] )
[ INHERITS ( parent_table [, ... ] ) ]
[ WITH ( storage_parameter [= value] [, ... ] ) | WITH OIDS | WITHOUT OIDS ]
[ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]
[ TABLESPACE tablespace ]

column_constraint�ˤϡ����ι�ʸ������ޤ���

[ CONSTRAINT constraint_name ]
{ NOT NULL | 
  NULL | 
  UNIQUE index_parameters |
  PRIMARY KEY index_parameters |
  CHECK ( expression ) |
  REFERENCES reftable [ ( refcolumn ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ]
    [ ON DELETE action ] [ ON UPDATE action ] }
[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]

�ޤ���table_constraint�ˤϡ����ι�ʸ������ޤ���

[ CONSTRAINT constraint_name ]
{ UNIQUE ( column_name [, ... ] ) index_parameters |
  PRIMARY KEY ( column_name [, ... ] ) index_parameters |
  CHECK ( expression ) |
  FOREIGN KEY ( column_name [, ... ] ) REFERENCES reftable [ ( refcolumn [, ... ] ) ]
    [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ] [ ON DELETE action ] [ ON UPDATE action ] }
[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]

UNIQUE�����PRIMARY KEY�������index_parameters�ϰʲ����̤�Ǥ���

[ WITH ( storage_parameter [= value] [, ... ] ) ]
[ USING INDEX TABLESPACE tablespace ]

����

CREATE TABLE�ϡ����ߤΥǡ����١����˿��������Υơ��֥��������ޤ��� ���������ơ��֥�Ϥ��Υ��ޥ�ɤ�¹Ԥ����桼������ͭ���ޤ���

��������̾���դ����Ƥ�������㤨�С�CREATE TABLE myschema.mytable ...�ˡ��ơ��֥�ϻ��ꤵ�줿�������ޤǺ�������ޤ��� ��������̾���ʤ���С��ơ��֥�ϸ��ߤΥ������ޤǺ�������ޤ��� �ޤ�������ơ��֥�����̤ʥ������ޤ�¸�ߤ��뤿�ᡢ����ơ��֥�κ������˥�������̾��Ϳ���뤳�ȤϤǤ��ޤ��� �ơ��֥�̾�ϡ�Ʊ�������������¾�Υơ��֥롢�������󥹡�����ǥå������ӥ塼�Ȥϰۤʤ�̾���ˤ���ɬ�פ�����ޤ���

����ˡ�CREATE TABLE�ϡ���������ơ��֥��1�Ԥ��б�����ʣ�緿�Υǡ�������������ޤ��� �������äơ��ơ��֥�ϡ�Ʊ������������δ�¸�Υǡ�������Ʊ��̾������Ĥ��Ȥ��Ǥ��ޤ���

�����ˤϡ���������������Ԥ�����ˡ��������ԡ��ޤ��Ϲ�������Ԥ��������ʤ���Фʤ�ʤ�����ʸ������ܡˤ���ꤷ�ޤ��������Ͼ�ά��ǽ�Ǥ��� ����ϡ��ơ��֥�����͡���ͭ�����ͤν�����������ݡ����Ω��SQL���֥������ȤǤ���

���������ˤϥơ��֥������������Ȥ���2���ब����ޤ��� �������������ΰ����Ȥ����������ޤ��� �ơ��֥���������ϡ��������ȤϷ�ӤĤ����Ƥ��餺��ʣ��������ͭ���뤳�Ȥ��Ǥ��ޤ��� �ޤ������Ƥ�������ϥơ��֥�����Ȥ��Ƶ��Ҥ��뤳�Ȥ��Ǥ��ޤ��� ������ϡ�1�Ĥ���ˤΤ߱ƶ���������Τ���Ρ����ؤʵ�����ˡ�˲᤮�ޤ���

�ѥ�᡼��

TEMPORARY or TEMP

���Υѥ�᡼�������ꤵ�줿��硢�ơ��֥�ϰ���ơ��֥�Ȥ��ƺ�������ޤ��� ����ơ��֥�ϡ����Υ��å����ν���ꡢ���ˤ�äƤϡ����ߤΥȥ�󥶥������ν����ʸ�Ҥ�ON COMMIT�򻲾ȡˤ˼�ưŪ�˺������ޤ��� ����ơ��֥뤬¸�ߤ����硢Ʊ��̾������Ĵ�¸�α�³�ơ��֥�ϡ��������޽���̾�ǻ��Ȥ���Ƥ��ʤ��¤ꡢ���ߤΥ��å����Ǥ���Ļ�ˤʤ�ޤ��� ����ơ��֥�Ǻ���륤��ǥå����⡢���Ƽ�ưŪ�˰��Ū�ʤ�ΤȤʤ�ޤ���

GLOBAL�ޤ���LOCAL��TEMPORARY��TEMP�����˵��Ҥ��뤳�Ȥ��Ǥ��ޤ��ʾ�ά��ǽ�ˡ� PostgreSQL�Ǥϡ���������ꤷ�Ƥ�ư��ΰ㤤�Ϥ���ޤ��� �ߴ����򻲾Ȥ��Ƥ���������

table_name

��������ơ��֥��̾���Ǥ��ʥ������޽���̾�Ǥ�ġˡ�

column_name

�������ơ��֥�Ǻ�����������̾���Ǥ���

data_type

��Υǡ������Ǥ��� ����ˤϡ��������Ҥ�ޤ�뤳�Ȥ��Ǥ��ޤ��� PostgreSQL�ǥ��ݡ��Ȥ����ǡ������ξ���˴ؤ���ܺ٤�第8章�򻲾Ȥ��Ƥ���������

DEFAULT default_expr

DEFAULT�����������դ���ȡ�������˥ǥե���ȥǡ����ͤ�������Ƥ��ޤ��� �ͤȤ��ƻ��ꤹ��Τϡ�Ǥ�դ�̵�ѿ����Ǥ������䤤��碌�ȸ��ߤΥơ��֥����¾����ظ򺹻��Ȥϵ��Ĥ���ޤ���ˡ� �ǥե���ȼ��Υǡ������Ϥ�����Υǡ������Ȱ��פ���ɬ�פ�����ޤ���

�ǥե���ȼ��ϡ����Ƥ��������ˤ����ơ���������ͤ����ꤵ��Ƥ��ʤ����˻��Ѥ���ޤ��� ��˥ǥե�����ͤ��ʤ���硢�ǥե�����ͤ�NULL�ˤʤ�ޤ���

INHERITS ( parent_table [, ... ] )

INHERITS��ǥơ��֥�ΰ�������ꤹ��ȡ��������ơ��֥�ϻ��ꤵ�줿�ơ��֥�����Ƥ����ưŪ�˷Ѿ����ޤ������ζ�Ͼ�ά��ǽ�Ǥ���

INHERITS����Ѥ���ȡ��������ҥơ��֥�Ȥ��οƥơ��֥��ʣ���ġˤȤδ֤˱�³Ū�ʴ�Ϣ����������ޤ��� �̾�ƤؤΥ������޽����Ҥ�Ʊ�ͤ˻Ҥˤ����Ť��ޤ����ޤ����ǥե���ȤǤϡ��ƥơ��֥��������̤ˤϻҥơ��֥�Υǡ������ޤޤ�ޤ���

ʣ���οƥơ��֥��Ʊ��̾����¸�ߤ����硢�����Υǡ����������פ��Ƥ��ʤ���С����顼�Ȥ�����𤵤�ޤ��� ���礬�ʤ���С������ν�ʣ������Ͽ������ơ��֥��1�Ĥ���η���ͻ�礵��ޤ��� �������ơ��֥����̾�ΰ����˷Ѿ��������̾�����ޤޤ����⡢���Υǡ������ϷѾ�������Υǡ������Ȱ��פ��Ƥ��ʤ���Фʤ�ޤ��󡣤���ˡ������������1�Ĥ�ͻ�礵��ޤ��� �������ơ��֥������Ū����Υǥե�����ͤ���ꤷ����硢�Ѿ�����������ˤ��������ƤΥǥե�����ͤϾ�񤭤���ޤ��� �ǥե�����ͤ���ꤷ�ʤ��ä���硢��¦�ǥǥե�����ͤ����ꤵ��Ƥ�����ϡ������Υǥե�����ͤ�����Ʊ���ͤǤʤ���Фʤ�ޤ��� �ͤ��㤦���ϥ��顼�ˤʤ�ޤ���

CHECK����ϡ�����Ū�ˤ����Ʊ�ͤ���ˡ�ǥޡ�������ޤ��� ʣ���οƥơ��֥롢�������ơ��֥롢�ޤ��Ϥ���ξ���������Ʊ��̾����CHECK����¸�ߤ�����硢����������Ϥ��٤�Ʊ��������������ʤ���Фʤ�ޤ��� ����ʤ��С����顼����𤵤�ޤ��� Ʊ��̾���ȼ����������ϣ��ĤΥ��ԡ��ˤޤȤ���ޤ��� ��դ�̾����������򤵤�ޤ��Τǡ��������ơ��֥����̵̾��CHECK����ϥޡ�������ʤ����Ȥ����դ��Ƥ���������

LIKE parent_table [ { INCLUDING | EXCLUDING } { DEFAULTS | CONSTRAINTS | INDEXES } ]

LIKE��˥ơ��֥����ꤹ��ȡ���ưŪ�ˤ��Υơ��֥�����Ƥ���̾�����Υǡ���������NULL���󤬿������ơ��֥�˥��ԡ�����ޤ���

INHERITS�Ȥΰ㤤�ϡ����������塢�������ơ��֥�ȸ��Υơ��֥뤬������ʬΥ����뤳�ȤǤ��� ���Υơ��֥�ؤ��ѹ��Ͽ������ơ��֥�ˤ�Ŭ�Ѥ���ޤ��󡣤ޤ������Υơ��֥�����Ƥ⿷�����ơ��֥�Υǡ����ϸ��Ĥ���ޤ���

���ԡ�������Υǥե���ȼ��ϡ�INCLUDING DEFAULTS�����ꤵ�줿���ˤΤߥ��ԡ�����ޤ��� �ǥե���ȤǤϡ��ǥե���ȼ������ԡ�����ʤ����ᡢ�������ơ��֥�Υ��ԡ����줿��ϥǥե�����ͤȤ���NULL����Ĥ��Ȥˤʤ�ޤ���

��NULL����Ͼ�˿������ơ��֥�˥��ԡ�����ޤ��� CHECK����ϡ�INCLUDING CONSTRAINTS�����ꤵ�줿���ˤΤߥ��ԡ�����ޤ��� ¾�μ��������Ϸ褷�ƥ��ԡ�����ޤ��� �ޤ���������ȥơ��֥�����Ȥ���̤��ޤ��� �����׵ᤵ�����ϡ����٤Ƥθ������󤬥��ԡ�����ޤ���

INCLUDING INDEXES�����ꤷ�ʤ��¤ꡢ���Υơ��֥��Υ���ǥå����Ϥޤä����������ơ��֥�ˤϺ�������ޤ���

�ޤ���INHERITS�ȰۤʤꡢƱ��̾��������������ľ�硢���ԡ����줿�������ϤޤȤ���ޤ��� Ʊ��̾��������Ū�ˡ����뤤��¾��LIKE��ǻ��ꤵ�줿��硢���顼�����Τ���ޤ���

CONSTRAINT constraint_name

��ά��ǽ�������󡢥ơ��֥������̾���Ǥ��� �⤷����������˰�ȿ����ȡ�����̾�����顼��å������˴ޤޤ��褦�ˤʤ�ޤ��� �Ǥ��Τǡ�col must be positive(�����Ǥʤ���Фʤ�ʤ�)�Ȥ��ä�̾��������̾����Ϳ���뤳�Ȥǡ����饤����ȥ��ץꥱ��������ͭ�Ѥ����������Ϥ����Ȥ��Ǥ��ޤ��� �ʶ����ޤ�����̾����ꤹ���硢��Ű����䤬ɬ�פǤ����� ���ꤵ��ʤ���С������ƥब̾�����������ޤ���

NOT NULL

������NULL�ͤ���Ƥʤ����Ȥ���ꤷ�ޤ���

NULL

������NULL�ͤ���Ƥ뤳�Ȥ���ꤷ�ޤ��� ���줬�ǥե���ȤǤ���

���ζ����ɸ��Ū��SQL�ǡ����١����Ȥθߴ����Τ���������󶡤���Ƥ��ޤ��� ���������ץꥱ�������Ǥ������Ѥ���ΤϤ����ᤷ�ޤ���

UNIQUE ���������
UNIQUE ( column_name [, ... ] ) ��ɽ�����

UNIQUE����ϡ��ơ��֥��1�Ĥޤ���ʣ�����󤫤�ʤ륰�롼�פ�����դ��ͤΤߤ���Ĥ��Ȥ��Ǥ��뤳�Ȥ���ꤷ�ޤ��� ������ơ��֥������ư��ϰ�����������Ʊ���Ǥ����������ʣ����ˤޤ����뵡ǽ������ޤ���

���������Ǥϡ�NULL�ͤ��������ȤϤߤʤ���ʤ���

���줾��ΰ�����ơ��֥�����ˤϡ����Υơ��֥��¾�ΰ��������⤷���ϥץ饤�ޥꥭ������ˤ�ä�̾�դ���줿��ν���Ȥϡ��ۤʤ�̾������ν������ꤷ�ʤ���Фʤ�ޤ��� ��Ʊ��̾������ꤹ��ȡ�Ʊ������2�󸽤������ˤʤ�ޤ��ˡ�

PRIMARY KEY ���������
PRIMARY KEY ( column_name [, ... ] ) ��ɽ�����

�ץ饤�ޥꥭ������ϡ��ơ��֥��1��ޤ���ʣ���󤬰�դʡʽ�ʣ���ʤ��ˡ���NULL�ͤΤߤ���Ĥ��Ȥ���ꤷ�ޤ��� ����Ū�ˤϡ�PRIMARY KEY��ñ�ʤ�UNIQUE��NOT NULL���Ȥ߹�碌�Ǥ��� ���������ץ饤�ޥꥭ���Ǥ��뤳�Ȥ�¾�Υơ��֥뤬�����󽸹���դʹԼ��̻ҤȤߤʤ��뤳�Ȥ��̣����Τǡ��󽸹��ץ饤�ޥꥭ�������ꤹ��ȡ����������߷פ˴ؤ���᥿�ǡ������󶡤��뤳�Ȥˤʤ�ޤ���

������Ǥ��뤫�ơ��֥�����Ǥ��뤫�ˤ�����餺��1�ĤΥơ��֥�˻���Ǥ���ץ饤�ޥꥭ����1�Ĥ����Ǥ���

�ץ饤�ޥꥭ������ˤϡ����Υơ��֥��������줿¾�ΰ��������ǻ�̾���줿��ν���Ȥϰ㤦�Ȥ߹�碌����ν������ꤷ�ʤ���Фʤ�ޤ���

CHECK ( expression )

CHECK��ϡ������乹������Ԥ�����ˡ��������ԡ��ޤ����ѹ�����Ԥ��������ʤ���Фʤ�ʤ���Boolean���η�̤��֤�������ꤷ�ޤ��� ����ɾ����TRUE�⤷����UNKNOWN�Ȥʤ�������Ǥ��� �Ԥ��������������η�̡�����FALSE�Ȥʤ���ϡ����顼�㳰���������졢�����乹���ˤ��ǡ����١������ѹ��ϹԤ��ޤ��� ������Ȥ��ƻ��ꤵ�줿��������ϡ���������ͤΤߤ򻲾Ȥ��ʤ���Фʤ�ޤ��� �������ơ��֥�����Ȥ��Ƹ���뼰�ϡ�ʣ����򻲾Ȥ��뤳�Ȥ��Ǥ��ޤ���

���ߡ�CHECK���ˤϡ����䤤��碌�丽�ߤιԤ���ʳ����ͤ�ޤळ�ȤϤǤ��ޤ���

REFERENCES reftable [ ( refcolumn ) ] [ MATCH matchtype ] [ ON DELETE action ] [ ON UPDATE action ] ���������
FOREIGN KEY ( column [, ... ] ) REFERENCES reftable [ ( refcolumn [, ... ] ) ] [ MATCH matchtype ] [ ON DELETE action ] [ ON UPDATE action ] ��ɽ�����

�����ζ�ϡ����������������ꤷ�ޤ��� ������������ϡ��������ơ��֥��1�Ĥޤ���ʣ������ν��礬���ﻲ�ȥơ��֥�ΰ����ιԤ��ﻲ�����ʣ���ġˤ˰��פ����ͤ�����ʤ���Фʤ�ʤ����Ȥ���ꤹ���ΤǤ��� refcolumn����ά���줿��硢reftable�Υץ饤�ޥꥭ�������Ѥ���ޤ��� �ﻲ����ϡ��ﻲ�ȥơ��֥�ˤ����ư��������⤷���ϥץ饤�ޥꥭ���������ä���Ǥʤ���Фʤ�ޤ��� ����ơ��֥�ȱ�³�ơ��֥�Ȥδ֤dz����������������Ǥ��ʤ����Ȥ����դ��Ƥ���������

��������������줿�ͤϡ��ﻲ�ȥơ��֥���ﻲ������ͤ��Ф��ơ����ꤷ���ȹ緿�ǾȲ񤵤�ޤ��� �ȹ緿�ˤ�3���ब����ޤ��� MATCH FULL��MATCH PARTIAL���ǥե���ȤǤ⤢��MATCH SIMPLE�ȹ緿�Ǥ��� MATCH FULL�����Ƥγ���������NULL�Ȥʤ���������ʣ�����������Τ�����NULL�Ȥʤ뤳�Ȥ���Ĥ��ޤ��� MATCH SIMPLE�ȹ緿�ϡ�����������¾����ʬ��NULL�Ǥʤ��¤ꡢ���������ΰ�����NULL�Ȥʤ뤳�Ȥ���Ĥ��ޤ��� MATCH PARTIAL�Ϥޤ���������Ƥ��ޤ���

����ˡ��ﻲ����Υǡ������ѹ����줿��硢���Υơ��֥����Υǡ����˲��餫��ư�ȯ�����ޤ��� ON DELETE��ϡ��ﻲ�ȥơ��֥���ﻲ�ȹԤ�������줿����ư�����ꤷ�ޤ��� Ʊ�ͤ�ON UPDATE��ϡ��ﻲ�ȥơ��֥���ﻲ���󤬿������ͤ˹������줿����ư�����ꤷ�ޤ��� �Ԥι��������ä����Ǥ⡢�ﻲ���󤬼ºݤ��ѹ�����ʤ����ϡ�ư��ϼ¹Ԥ���ޤ��� �����ٱ��ǽ���������Ƥ��Ƥ⡢NO ACTION�����ʳ��λ���ư����ٱ䤵�����ޤ��� �ƶ�ˤĤ��ơ��ʲ���ư�������ǽ�Ǥ���

NO ACTION

����⤷���Ϲ������������������ȿ�Ȥʤ뤳�Ȥ򼨤����顼��ȯ�����ޤ��� �����ٱ��ǽ�ʾ�硢���餫�λ��ȹԤ�¸�ߤ���¤ꡢ���Υ��顼������θ���������ȯ�����ޤ��� ����ϥǥե���Ȥ�ư��Ǥ���

RESTRICT

����⤷���Ϲ������������������ȿ�Ȥʤ뤳�Ȥ򼨤����顼��ȯ�����ޤ��� �������ٱ�Ǥ��ʤ����������NO ACTION��Ʊ���Ǥ���

CASCADE

������줿�Ԥ򻲾Ȥ��Ƥ���Ԥ����ƺ�����ޤ����ޤ������Ȥ��Ƥ�������ͤ��ﻲ����ο������ͤˤ��ޤ���

SET NULL

���Ȥ������ʣ���ġˤ�NULL�����ꤷ�ޤ���

SET DEFAULT

���Ȥ������ʣ���ġˤ򤽤Υǥե�����ͤ����ꤷ�ޤ���

�ﻲ�������ˤ˹���������硢����������˥���ǥå������դ������γ���������˴�Ϣ���뻲��ư�����ΨŪ�˼¹ԤǤ���褦�ˤ��������ɤ��Ǥ��礦��

DEFERRABLE
NOT DEFERRABLE

������ٱ䤵���뤳�Ȥ���ǽ���ɤ��������椷�ޤ��� �ٱ��ԲĤ�����ϳƥ��ޥ�ɤθ夹���˸�������ޤ��� �ٱ��ǽ������θ����ϡ���SET CONSTRAINTS���ޥ�ɤ���Ѥ��ơ˥ȥ�󥶥������ν�λ���ޤ��ٱ䤵���뤳�Ȥ��Ǥ��ޤ��� NOT DEFERRABLE���ǥե���ȤǤ��� ���ߡ�������������Τߤ����ζ������դ��뤳�Ȥ��Ǥ��ޤ��� ¾��������ٱ䤵���뤳�Ȥ��Ǥ��ޤ���

INITIALLY IMMEDIATE
INITIALLY DEFERRED

�����ٱ��ǽ�ʾ�硢���ζ�����󸡺���Ԥ��ǥե���Ȥλ�������ꤷ�ޤ��� ����INITIALLY IMMEDIATE�ξ�硢��ʸ�μ¹Ը�˸�������ޤ��� ���줬�ǥե���ȤǤ��� ����INITIALLY DEFERRED�ξ�硢�ȥ�󥶥������ν�λ���ˤΤ߸�������ޤ��� ���󸡺��λ�����SET CONSTRAINTS���ޥ�ɤ���Ѥ����ѹ����뤳�Ȥ��Ǥ��ޤ���

WITH ( storage_parameter [= value] [, ... ] )

���ζ�ϡ��ơ��֥�ޤ��ϥ���ǥå������Ф��ƾ�ά��ǽ�ʳ�Ǽ�ѥ�᡼������ꤷ�ޤ��� �ܺ٤���Ǽ�ѥ�᡼���򻲾Ȥ��Ƥ��������� �ơ��֥��Ѥ�WITH�ˤϡ�OIDS=TRUE�ʤ⤷����ñ�ʤ�OIDS�ˤ�ޤ�ơ��������ơ��֥�ιԤ��Ԥ˳�����Ƥ�줿OID�ʥ��֥������ȼ��̻ҡˤ�����ʤ���Фʤ�ʤ����Ȥ���ꤹ�뤳�Ȥ�Ǥ��ޤ��� �ޤ���OIDS=FALSE��ޤ�ơ�OID������ʤ����Ȥ���ꤹ�뤳�Ȥ�Ǥ��ޤ��� OIDS�����ꤵ��ʤ���硢�ǥե���Ȥ������default_with_oids����ѥ�᡼���˰�¸���ޤ��� �ʿ������ơ��֥뤬OID����ĥơ��֥뤫��Ѿ������硢���ޥ�ɤ�OIDS=FALSE�Ȼ��ꤷ�Ƥ⶯��Ū��OIDS=TRUE �Ȥʤ�ޤ�����

OIDS=FALSE������Ū�ޤ��ϰ���Ū�˻��ꤵ��Ƥ����硢�������ơ��֥��OID���Ǽ���ޤ��󡣤ޤ������������Ԥˤ�OID��������Ƥ��ޤ��� ���Τ褦��ư��ϰ���Ū��ͭ�פǤ���ȹͤ����ޤ�������ϡ�OID�λ��Ѥ��ޤ���32�ӥåȤ�OID�����󥿤β�ž�������Ĺ�Ǥ��뤿��Ǥ��� �����󥿤���������OID�ΰ�������ݾڤǤ��ʤ��ʤ�Τǡ�����ͭ�����򸺾������뤳�Ȥˤʤ�ޤ��� �ޤ���OID��ʤ������Ȥǡ��ơ��֥�1��������ʤۤȤ�ɤΥޥ���ǡ�4�Х���ʬ���ơ��֥��ǥ������˳�Ǽ���뤿������̤�ڸ�����Τǡ�¿����ǽ�����夷�ޤ���

�ơ��֥�κ������OID��������ˤϡ�ALTER TABLE����Ѥ��Ƥ���������

WITH OIDS
WITHOUT OIDS

����ϸŤ���ʸ�ǡ����줾��WITH (OIDS) and WITH (OIDS=FALSE)��Ʊ���Ǥ��� OIDS������ȳ�Ǽ�ѥ�᡼���������ξ������ꤷ�������ϡ���Ҥ�WITH ( ... )����Ѥ��ʤ���Фʤ�ޤ���

ON COMMIT

ON COMMIT����Ѥ��ơ��ȥ�󥶥������֥��å��ν�λ�����Ǥΰ���ơ��֥��ư������椹�뤳�Ȥ��Ǥ��ޤ��� �ʲ���3�ĤΥ��ץ���󤬤���ޤ���

PRESERVE ROWS

�ȥ�󥶥������ν�λ�����ǡ����̤�ư��ϹԤ��ޤ��� ���줬�ǥե���Ȥ�ư��Ǥ���

DELETE ROWS

����ơ��֥�������ƤιԤϡ��ƥȥ�󥶥������֥��å��ν����Ǻ������ޤ��� ����Ū�ˤϡ����ߥåȤ��٤˼�ưŪ��TRUNCATE���¹Ԥ���ޤ���

DROP

����ơ��֥�ϡ����ߤΥȥ�󥶥������֥��å��ν�λ�����Ǻ������ޤ���

TABLESPACE tablespace

tablespace�ϡ��������ơ��֥뤬���������ơ��֥����̾�Ǥ��� ���ꤵ��Ƥ��ʤ���硢default_tablespace���⤷����ơ��֥�ξ���temp_tablespaces����θ����ޤ���

USING INDEX TABLESPACE tablespace

���ζ�ˤ�ꡢUNIQUE�ޤ���PRIMARY KEY����˴�Ϣ��������ǥå������������ơ��֥���֤����򤹤뤳�Ȥ��Ǥ��ޤ��� ���ꤵ��Ƥ��ʤ���硢default_tablespace���⤷����ơ��֥�Ǥ����temp_tablespaces����θ����ޤ���

��Ǽ�ѥ�᡼��

WITH��ˤ�ꡢ�ơ��֥뤪���UNIQUE�ޤ���PRIMARY KEY����ȴ�Ϣ�Ť�������ǥå�������Ǽ�ѥ�᡼������ꤹ�뤳�Ȥ��Ǥ��ޤ��� ����ǥå����γ�Ǽ�ѥ�᡼���ˤĤ��Ƥ�CREATE INDEX���������ޤ��� ���ߥơ��֥�������ǽ�ʳ�Ǽ�ѥ�᡼���ΰ�����ʲ��˼����ޤ��� �ƥѥ�᡼�����Ф��ơ��������ʤ��¤ꡢ�����toast�Ȥ�����Ƭ���ΤĤ�����Ʊ���̾���Υѥ�᡼��������ޤ��� ����Ϥ⤷����С��ơ��֥�����TOAST�ơ��֥��ư������椹�뤿��˻��Ѥ��뤳�Ȥ��Ǥ��ޤ��� (TOAST�˴ؤ���ܺ٤ˤĤ��Ƥ�項53.2�򻲾Ȥ��Ƥ���������) TOAST�ơ��֥�ϡ�toast.autovacuum_*�����귲���ʤ����˿ƥơ��֥��autovacuum�ͤ�Ѿ����뤳�Ȥ����դ��Ƥ���������

fillfactor (integer)

�ơ��֥�Υե���ե�������10����100�ޤǤδ֤γ��ʥѡ�����ȡˤǤ��� 100�ʴ����ˤ��٤ƻ��ѡˤ��ǥե���ȤǤ��� ��꾮�����ͤ���ꤹ��ȡ�INSERT���ϻ��ꤷ�����ޤǤ����ơ��֥�ڡ�������Ѥ��ޤ��� �ƥڡ����λĤ����ʬ�ϡ����Υڡ�����ιԹ����Ѥ�ͽ�󤵤�ޤ��� ����ˤ��UPDATE�ϡ����ιԤ�Ʊ���ڡ�����˹����ѤߤιԤ�ʣ�����Ǽ���뤳�Ȥ��Ǥ���褦�ˤʤ�ޤ��� ������̤Υڡ����˹����ѤߤιԤ�ʣ�����Ǽ���뤳�Ȥ����ΨŪ�Ǥ��� ���ܤι������ޤä����ʤ��ơ��֥�Ǥϡ������ˤ��٤Ƥ���Ѥ��뤳�Ȥ�����������Ǥ��� ������������������¿���ơ��֥�ǤϤ�꾮����Υե���ե�������Ŭ�ڤǤ��� ���Υѥ�᡼����TOAST�ơ��֥�ˤ�����Ǥ��ޤ���

autovacuum_enabled, toast.autovacuum_enabled (boolean)

����Υơ��֥���Ф��뼫ư�Х��塼��ǡ�����ͭ���ޤ���̵���ˤ��ޤ��� ���ξ�硢��ư�Х��塼��ǡ����ϡ������ޤ��Ϻ�����줿���ץ����autovacuum_vacuum_threshold��autovacuum_vacuum_scale_factor�ߥ�졼�������ο���ͭ�����ץ����Ķ�����Ȥ��ˡ�����Υơ��֥���Ф���VACUUM����Ϥ�ޤ��� Ʊ�ͤˡ�������������������줿���ץ����autovacuum_analyze_threshold��autovacuum_analyze_scale_factor�ߥ�졼�������ο���ͭ�����ץ����Ķ�����Ȥ��ˡ�ANALYZE����Ϥ�ޤ��� ���ξ�硢�ȥ�󥶥����������������򤹤뤿��ʳ��Ǽ�ư�Х��塼��ϹԤ��ޤ��� ��������β���ˤĤ��Ƥ�項23.1.4�򻲾Ȥ��Ƥ��������� �����ѿ���autovacuum������ͤ�Ѿ����Ƥ��뤳�Ȥ˵��դ��Ƥ���������

autovacuum_vacuum_threshold, toast.autovacuum_vacuum_threshold (integer)

����Υơ��֥���Ф���VACUUM����Ϥ�����Ρ������ޤ��Ϻ�����줿���ץ�κǾ����Ǥ���

autovacuum_vacuum_scale_factor, toast.autovacuum_vacuum_scale_factor (float4)

autovacuum_vacuum_threshold�˲û�����reltuples�Ѥξ���Ǥ���

autovacuum_analyze_threshold, toast.autovacuum_analyze_threshold (integer)

����Υơ��֥���Ф���ANALYZE����Ϥ�����Ρ������������ޤ��Ϻ�����줿���ץ�κǾ����Ǥ���

autovacuum_analyze_scale_factor, toast.autovacuum_analyze_scale_factor (float4)

autovacuum_analyze_threshold�˲û�����reltuples�Ѥξ���Ǥ���

autovacuum_vacuum_cost_delay, toast.autovacuum_vacuum_cost_delay (integer)

autovacuum_vacuum_cost_delay�ȼ��ѥ�᡼���Ǥ���

autovacuum_vacuum_cost_limit, toast.autovacuum_vacuum_cost_limit (integer)

autovacuum_vacuum_cost_limit�ȼ��ѥ�᡼���Ǥ���

autovacuum_freeze_min_age, toast.autovacuum_freeze_min_age (integer)

vacuum_freeze_min_age�ȼ��ѥ�᡼���Ǥ��� �ơ��֥�ñ�̤�autovacuum_freeze_min_age�򥷥��ƥ����Τ�autovacuum_freeze_max_age�����1/2����礭�����ꤷ�褦�Ȥ��Ƥ⡢��ư�Х��塼�ब̵�뤹�뤳�Ȥ����դ��Ƥ���������

autovacuum_freeze_max_age, toast.autovacuum_freeze_max_age (integer)

autovacuum_freeze_max_age�ȼ��ѥ�᡼���Ǥ��� �ơ��֥�ñ�̤�autovacuum_freeze_max_age�򥷥��ƥ����ΤΤ��Ф����������礭�����ꤷ�褦�Ȥ��Ƥ⡢��ư�Х��塼�ब̵�뤹�뤳�Ȥ����դ��Ƥ��������� �ʤ�꾮�����ͤ�������Ǥ��ޤ��󡣡� autovacuum_freeze_max_age�����˾��������ꤹ�롢���������ꤹ�뤳�Ȥ���Ǥ��ޤ��������ˤʥХ��塼���������������뤿���̾�ϴ�����ޤ���

autovacuum_freeze_table_age, toast.autovacuum_freeze_table_age (integer)

�ȼ���vacuum_freeze_table_age�ѥ�᡼��

����

�����Υ��ץꥱ��������OID����Ѥ���ΤϤ����ᤷ�ޤ��� �Ǥ���¤ꡢ�ơ��֥�Υץ饤�ޥꥭ���Ȥ���SERIAL��¾�Υ������󥹥����ͥ졼������Ѥ�������˾�ޤ����ȹͤ����ޤ��� �����������ץꥱ������󤬥ơ��֥������ιԤ��̤��뤿���OID����Ѥ�����ϡ����Υơ��֥��oid��˰���������������뤳�Ȥ�侩���ޤ��� ����ˤ�ꡢ�����󥿤�������Ƥ��ޤä����Ǥ⡢�ơ��֥����OID�ǰ�դ˹Ԥ��̤Ǥ��뤳�Ȥ��ݾڤ���뤫��Ǥ��� OID���ơ��֥����Τǰ�դǤ���ȹͤ���Τϻߤ�Ƥ��������� �ǡ����١������Τǰ�դʼ��̻Ҥ�ɬ�פʾ��ϡ�tableoid�ȹԤ�OID���Ȥ߹�碌����Ѥ��Ƥ���������

ティップ: OIDS=FALSE�λ��Ѥϡ��ץ饤�ޥꥭ���Τʤ��ơ��֥�ǤϿ侩����ޤ��� OID���դʥǡ���������¸�ߤ��ʤ��ȡ�����Ԥ��̤��뤳�Ȥ��񤷤��ʤ뤫��Ǥ���

PostgreSQL�ϼ�ưŪ�˳ư��������ȥץ饤�ޥꥭ��������Ф��ƥ���ǥå���������������ΰ������μ¤ʤ�Τˤ��ޤ��� �������äơ��ץ饤�ޥꥭ�����������Ū�ʥ���ǥå�����������뤳�Ȥ�ɬ�פ���ޤ��� �ʾܺ٤ˤĤ��Ƥ�CREATE INDEX�򻲾Ȥ��Ƥ��������ˡ�

���ߤμ����Ǥϡ����������ȥץ饤�ޥꥭ���ϷѾ�����ޤ��� ����ϡ��Ѿ��Ȱ����������Ȥ߹�碌��Ⱦ㳲��ȯ�����뤫��Ǥ���

�ơ��֥��1600��ʾ�������Ĥ��ȤϤǤ��ޤ��� �ʥ��ץ�Ĺ�����¤ˤ��ºݤ����¤Ϥ�ä��㤯�ʤ�ޤ��ˡ�

��

films�ơ��֥��distributors�ơ��֥��������ޤ���

CREATE TABLE films (
    code        char(5) CONSTRAINT firstkey PRIMARY KEY,
    title       varchar(40) NOT NULL,
    did         integer NOT NULL,
    date_prod   date,
    kind        varchar(10),
    len         interval hour to minute
);

CREATE TABLE distributors (
     did    integer PRIMARY KEY DEFAULT nextval('serial'),
     name   varchar(40) NOT NULL CHECK (name <> '')
);

2�����������ĥơ��֥��������ޤ���

CREATE TABLE array_int (
    vector  int[][]
);

films�ơ��֥�� ������ơ��֥������������ޤ��� ������ơ��֥�����ϥơ��֥��1�İʾ�����������뤳�Ȥ��Ǥ��ޤ���

CREATE TABLE films (
    code        char(5),
    title       varchar(40),
    did         integer,
    date_prod   date,
    kind        varchar(10),
    len         interval hour to minute,
    CONSTRAINT production UNIQUE(date_prod)
);

�����������������ޤ���

CREATE TABLE distributors (
    did     integer CHECK (did > 100),
    name    varchar(40)
);

�����ơ��֥������������ޤ���

CREATE TABLE distributors (
    did     integer,
    name    varchar(40)
    CONSTRAINT con1 CHECK (did > 100 AND name <> '')
);

films�ơ��֥�˥ץ饤�ޥꥭ���ơ��֥������������ޤ���

CREATE TABLE films (
    code        char(5),
    title       varchar(40),
    did         integer,
    date_prod   date,
    kind        varchar(10),
    len         interval hour to minute,
    CONSTRAINT code_title PRIMARY KEY(code,title)
);

distributors�ơ��֥�˥ץ饤�ޥꥭ�������������ޤ��� �ʲ���2�Ĥ����Ʊ����ΤǤ��� ���Ԥϥơ��֥�����ʸ����Ѥ�����Ԥ�������ʸ����Ѥ��ޤ���

CREATE TABLE distributors (
    did     integer,
    name    varchar(40),
    PRIMARY KEY(did)
); 

CREATE TABLE distributors (
    did     integer PRIMARY KEY,
    name    varchar(40)
);

�ʲ��Ǥϡ�name��Υǥե�����ͤ˥�ƥ������������ƤƤ��ޤ����ޤ���did��Υǥե�����ͤȤ��ơ��������󥹥��֥������Ȥμ����ͤ����������褦��Ĵ�����Ƥ��ޤ��� modtime�Υǥե�����ͤϡ����ιԤ��������줿����Ȥʤ�ޤ���

CREATE TABLE distributors (
    name      varchar(40) DEFAULT 'Luso Films',
    did       integer DEFAULT nextval('distributors_serial'),
    modtime   timestamp DEFAULT current_timestamp
);

2�Ĥ�NOT NULL�������distributors�ơ��֥��������ޤ��� ���Τ���1�Ĥˤ�����Ū��̾�����դ��Ƥ��ޤ���

CREATE TABLE distributors (
    did     integer CONSTRAINT no_null NOT NULL,
    name    varchar(40) NOT NULL
);

name����Ф�������������������ޤ���

CREATE TABLE distributors (
    did     integer,
    name    varchar(40) UNIQUE
);

���ơ��֥�����Ȥ��ƻ��ꤷ�ޤ���

CREATE TABLE distributors (
    did     integer,
    name    varchar(40),
    UNIQUE(name)
);

�ơ��֥�Ȥ��ΰ��������ǥå�����70%�Υե���ե���������ꤷ�ơ�Ʊ���ơ��֥��������ޤ���

CREATE TABLE distributors (
    did     integer,
    name    varchar(40),
    UNIQUE(name) WITH (fillfactor=70)
)
WITH (fillfactor=70);

diskvol1�ơ��֥���֤�cinemas�ơ��֥��������ޤ���

CREATE TABLE cinemas (
        id serial,
        name text,
        location text
) TABLESPACE diskvol1;

�ߴ���

CREATE TABLE�ϡ��ʲ��ΰ���������ơ�ɸ��SQL�˽����ޤ���

����ơ��֥�

CREATE TEMPORARY TABLE��ɸ��SQL��������Ƥ��ޤ��������θ��̤�Ʊ���ǤϤ���ޤ��� ɸ��Ǥϡ�����ơ��֥�ϰ��٤���������졢�����ɬ�פȤ��륻�å���󤴤Ȥ˼�ưŪ�ˡʶ������ƤǻϤޤ���ǡ˽и����ޤ��� PostgreSQL�Ǥϡ�����Ȱۤʤꡢ�ƥ��å������ȼ��ˡ����Ѥ������ơ��֥��Ѥ�CREATE TEMPORARY TABLE���ޥ�ɤ�ȯ�Ԥ��ʤ���Фʤ�ޤ��� ����ˤ�ꡢ�ۤʤ륻�å�����Ʊ��̾���ΰ���ơ��֥��ۤʤ���Ū�ǻ��Ѥ��뤳�Ȥ��Ǥ��ޤ��� ������ɸ�����ˡ�Ǥϡ��������ơ��֥�̾����ĥ��󥹥��󥹤�������Ʊ��Υơ��֥빽¤����ĤȤ������¤�����ޤ���

ɸ��ˤ����뤳�Τ褦�ʰ���ơ��֥��ư������Ϥ����Ƥ�̵�뤵��Ƥ��ޤ��� �������Ǥ�PostgreSQL��ư��ϡ�¾��¿����SQL�ǡ����١����Ȼ��Ƥ��ޤ���

ɸ��ˤ����롢�������Х����ơ��֥�ȥ����������ơ��֥�ζ��̤�PostgreSQL�ˤϤ���ޤ��� ���ζ��̤ϥ⥸�塼��Ȥ�����ǰ�˰�¸������ΤǤ�����PostgreSQL�ˤϥ⥸�塼�복ǰ���ʤ�����Ǥ��� �ߴ������ݻ����뤿�ᡢPostgreSQL�ϰ���ơ��֥������ˤ�����GLOBAL��LOCAL������ɤ�����դ��ޤ����������ˤϲ��θ��̤⤢��ޤ���

����ơ��֥��Ѥ�ON COMMIT���ޤ���ɸ��SQL��������Ƥ��ޤ����������ΰ㤤������ޤ��� ON COMMIT�礬��ά���줿��硢SQL�Ǥϡ��ǥե���Ȥ�ư���ON COMMIT DELETE ROWS�Ǥ���ȵ��ꤷ�Ƥ��ޤ��� ��������PostgreSQL�ǤΥǥե���Ȥ�ư���ON COMMIT PRESERVE ROWS�Ǥ��� �ޤ���ON COMMIT DROP��SQL�ˤϤ���ޤ���

�󸡺�����

ɸ��SQL�Ǥϡ�CHECK������Ϥ����Ŭ�Ѥ�����Τߤ򻲾ȤǤ���ʣ������򻲾ȤǤ���Τ�CHECK�ơ��֥�����ΤߤǤ���Ȥ���Ƥ��ޤ��� PostgreSQL�ˤϤ������¤Ϥ���ޤ��� �󸡺�����ȥơ��֥븡�������Ʊ�ͤΤ�ΤȤ��ư��äƤ��ޤ���

NULL "����"

NULL"����"�ʼºݤˤ�������ˤϡ�ɸ��SQL���Ф���PostgreSQL�γ�ĥ�ǡ�¾�Τ����Ĥ��Υǡ����١��������ƥ�Ȥθߴ����Τ���˴ޤޤ�Ƥ��ޤ���NOT NULL������оΤˤʤ�ޤ��ˡ� �ɤ������Ф��Ƥ�ǥե���ȤȤʤ뤿�ᡢ����ϥΥ����˲᤮�ޤ���

�Ѿ�

INHERITS��ˤ��ʣ���Ѿ��ϡ�PostgreSQL�θ����ĥ�Ǥ��� SQL:1999�ʹߤǤϡ��ۤʤ빽ʸ�Ȱ�̣�ηϤˤ��ñ��Ѿ���������Ƥ��ޤ��� ���ΤȤ�����SQL:1999�����ηѾ���PostgreSQL�Ǥϥ��ݡ��Ȥ���Ƥ��ޤ���

�������ʤ��ơ��֥�

PostgreSQL�Ǥϡ��������ʤ��ơ��֥��������뤳�Ȥ��Ǥ��ޤ� ���㤨�С�CREATE TABLE foo();�ˡ� �����ɸ��SQL����γ�ĥ�Ǥ��� ɸ��SQL�Ǥ��������ʤ��ơ��֥�ϵ�����ޤ��� �������ʤ��ơ��֥뤽�켫�Τ����Ω���ޤ��󤬡������̵���Ȥ���ȡ�ALTER TABLE DROP COLUMN���Ф��ƴ�̯��������������뤳�Ȥˤʤ�ޤ��� �������äơ����λ��;�����¤�̵�뤹�������ʷ�Ǥ���ȹͤ��ޤ���

WITH clause

WITH���PostgreSQL�γ�ĥ�Ǥ��� ��Ǽ�ѥ�᡼����OID��ɸ��ˤϤ���ޤ���

�ơ��֥����

PostgreSQL�Υơ��֥���֤γ�ǰ��ɸ��ˤϤ���ޤ��� �������äơ�TABLESPACE��USING INDEX TABLESPACE�ϡ�PostgreSQL�ˤ������ĥ�Ǥ���

��Ϣ����

ALTER TABLE, DROP TABLE, CREATE TABLESPACE