ɽ9-39�ˡ����å����䥷���ƥ�ξ������Ф���ؿ����ޤ���
ɽ 9-39. ���å�������ؿ�
̾�� | ����ͤη� | ���� |
---|---|---|
current_database() | name | ���ߤΥǡ����١�����̾�� |
current_schema() | name | ���ߤΥ������ޤ�̾�� |
current_schemas(boolean) | name[] | �����ѥ���Υ������ޤ�̾�������ץ����ǰ���Ū�ʥ������ޤ�ޤ� |
current_user | name | ���ߤμ¹ԥ���ƥ����ȤΥ桼��̾�� |
inet_client_addr() | inet | ��⡼����³�Υ��ɥ쥹�� |
inet_client_port() | int4 | ��⡼����³�Υݡ��ȡ� |
inet_server_addr() | inet | ����������³�Υ��ɥ쥹�� |
inet_server_port() | int4 | ����������³�Υݡ��ȡ� |
session_user | name | ���å����桼��̾�� |
user | name | current_user�������� |
version() | text | PostgreSQL ���������� |
session_user�ϡ��̾���ߤΥǡ����١�����³�����������桼���Ǥ��� �������������ѡ��桼���Ϥ����SET SESSION AUTHORIZATION����Ѥ����ѹ����뤳�Ȥ��Ǥ��ޤ��� current_user�ϡ����¤θ�����Ŭ�Ѥ����桼�����̻ҤǤ��� �̾�ϥ��å����桼����Ʊ���Ǥ�����SECURITY DEFINER°������Ĵؿ��μ¹���ϰۤʤ�ޤ��� Unix�Ѹ�Ǥ����ȡ����å����桼����"�¥桼��"�����ߤΥ桼����"�¸��桼��"�Ǥ���
����: current_user��session_user�����user��SQL�ˤ������ü�ʾ��֤���äƤ��ꡢ��̤�Ĥ����˸ƤӽФ��ʤ���Фʤ�ޤ���
current_schema�ؿ��ϡ������ѥ�����Ƭ�ˤ��륹������̾(�⤷���ϡ������ѥ������ξ���NULL��)���֤��ޤ��� ����ϡ��оݥ������ޤ���ꤻ���˺������줿��Ǥ�դΥơ��֥�ޤ���¾��̾���դ����֥������Ȥ˻��Ѥ���륹�����ޤǤ��� �ޤ���current_schemas(boolean) �ϡ������ѥ���¸�ߤ������ƤΥ�������̾��������֤��ޤ��� boolean���ץ����ˤ�ꡢpg_catalog�Τ褦�ʰ���Ū�˴ޤޤ�Ƥ��륷���ƥॹ�����ޤ����ѥ��˴ޤ���֤����ɤ�������ꤷ�ޤ���
����: �����ѥ��ϡ��¹Ի���������ѹ����뤳�Ȥ��Ǥ��ޤ��� ���Ѥ��륳�ޥ�ɤϰʲ����̤�Ǥ���
SET search_path TO schema [, schema, ...]
inet_client_addr�ϸ��ߤΥ��饤����Ȥ�IP���ɥ쥹���֤���inet_client_port�Ϥ��Υݡ����ֹ���֤��ޤ��� inet_server_addr�ϡ����ߤ���³������դ��������Ф�IP���ɥ쥹���֤���inet_server_port�Ϥ��Υݡ����ֹ���֤��ޤ��� ���ߤ���³��Unix�ɥᥤ���åȷ�ͳ�ξ�硢�����δؿ�������NULL���֤��ޤ���
version()�ؿ���PostgreSQL�����ФΥС������Ҥ���ʸ������֤��ޤ���
ɽ9-40������ؿ�����Ѥ��ơ��桼���ϥ��֥������ȤΥ����������¤�ץ�����फ���䤤��碌�뤳�Ȥ��Ǥ��ޤ��� ���¤ˤĤ��Ƥξܺ٤ϡ���5.7�Ȥ��Ƥ���������
ɽ 9-40. �����������¾Ȳ�ؿ�
̾�� | ����ͷ� | ���� |
---|---|---|
has_table_privilege(user, table, privilege) | boolean | �ơ��֥�˥桼���Υ����������¤�����Τ� |
has_table_privilege(table, privilege) | boolean | �ơ��֥�˸��ߤΥ桼���Υ����������¤�����Τ� |
has_database_privilege(user, database, privilege) | boolean | �桼���˥ǡ����١����ؤΥ����������¤�����Τ� |
has_database_privilege(database, privilege) | boolean | ���ߤΥ桼���˥ǡ����١����ؤΥ����������¤�����Τ� |
has_function_privilege(user, function, privilege) | boolean | �桼���˴ؿ��ؤΥ����������¤�����Τ� |
has_function_privilege(function, privilege) | boolean | ���ߤΥ桼���˴ؿ��ؤΥ����������¤�����Τ� |
has_language_privilege(user, language, privilege) | boolean | �桼���˸���ؤΥ����������¤�����Τ� |
has_language_privilege(language, privilege) | boolean | ���ߤΥ桼���˸���ؤΥ����������¤�����Τ� |
has_schema_privilege(user, schema, privilege) | boolean | �桼���˥������ޤؤΥ����������¤�����Τ� |
has_schema_privilege(schema, privilege) | boolean | ���ߤΥ桼���˥������ޤؤΥ����������¤�����Τ� |
has_tablespace_privilege(user, tablespace, privilege) | boolean | �桼���˥ơ��֥���֤ؤΥ����������¤�����Τ� |
has_tablespace_privilege(tablespace, privilege) | boolean | ���ߤΥ桼���˥ơ��֥���֤ؤΥ����������¤�����Τ� |
has_table_privilege�ؿ��ϡ�����桼�����������ˡ�ǥơ��֥�˥���������ǽ���ɤ��������ޤ��� �桼����̾���ޤ���ID(pg_user.usesysid)�ˤ�ä����ꤵ��ޤ��� �⤷��������ά������current_user�ȸ�������ޤ��� �ơ��֥��̾���ޤ���OID�ˤ�ä�����Ǥ��ޤ��� (���äơ��º�has_table_privilege�ˤ�6�Ĥμ��ब¸�ߤ������줾��ΰ����ο��ȷ��ˤ�äƸ�ʬ�����ޤ���) ̾���ǻ��ꤵ�줿��硢ɬ�פǤ���С�����̾�������ޤǽ������뤳�Ȥ���ǽ�Ǥ��� �оݤȤ��륢���������¤μ���ϥƥ�����ʸ����ǻ��ꤵ�졢SELECT��INSERT��UPDATE��DELETE��RULE��REFERENCES���ޤ���TRIGGER����ΰ�Ĥ��ͤ�ɾ������ʤ���Фʤ�ޤ��� (��������ʸ�������ʸ����ʸ���ΰ㤤�ϰ�̣������ޤ���) �ʲ�������ޤ���
SELECT has_table_privilege('myschema.mytable', 'select');
has_database_privilege�ؿ��ϡ�����桼�����������ˡ�ǥǡ����١����˥���������ǽ���ɤ��������ޤ��� ���δؿ��Ǥΰ����λ�����ˡ�ϡ�has_table_privilege��������Ƥ��ޤ��� �оݤȤ��륢���������¤μ���ϡ�CREATE��TEMPORARY���ޤ��� TEMP(TEMPORARY��Ʊ��)��ɾ������ɬ�פ�����ޤ���
has_function_privilege�ؿ��ϡ�����桼�����������ˡ�Ǵؿ��˥���������ǽ���ɤ��������ޤ��� ���δؿ��Ǥΰ����λ�����ˡ�ϡ�has_table_privilege��������Ƥ��ޤ��� �ؿ���OID�ǤϤʤ��ƥ�����ʸ����ǻ��ꤷ����硢regprocedure �ǡ�����(��8.12����)��Ʊ�����Ϥ���ǽ�Ǥ��� �оݤȤ��륢���������¤μ���ϡ�����EXECUTE��ɾ������ɬ�פ�����ޤ��� �ʲ�������ޤ���
SELECT has_function_privilege('joeuser', 'myfunc(int, text)', 'execute');
has_language_privilege�ؿ��ϡ�����桼�����������ˡ�Ǽ�³������˥���������ǽ���ɤ��������ޤ��� ���δؿ��Ǥΰ����λ�����ˡ�ϡ�has_table_privilege��������Ƥ��ޤ��� �оݤȤ��륢���������¤μ���ϡ�����USAGE��ɾ������ɬ�פ�����ޤ���
has_schema_privilege�ؿ��ϡ�����桼�����������ˡ�ǥ������ޤ˥���������ǽ���ɤ��������ޤ��� ���δؿ��Ǥΰ����λ�����ˡ�ϡ�has_table_privilege��������Ƥ��ޤ��� �оݤȤ��륢���������¤μ���ϡ�CREATE�⤷����USAGE��ɾ������ɬ�פ�����ޤ���
has_tablespace_privilege�ؿ��ϡ�����桼�����������ˡ�ǥơ��֥���֤˥���������ǽ���ɤ��������ޤ��� ���δؿ��Ǥΰ����λ�����ˡ�ϡ�has_table_privilege��������Ƥ��ޤ��� �оݤȤ��륢���������¤μ���ϡ�CREATE��ɾ������ɬ�פ�����ޤ���
�桼�������θ��¤Υ����ȥ��ץ������ݻ����Ƥ��뤫�ɤ������ǧ���뤿��ˤϡ����¥�����ɤ� WITH GRANT OPTION���դ��Ƥ��������� �㤨�С�'UPDATE WITH GRANT OPTION'�Ǥ���
ɽ9-41�ˡ�����Υ��֥������Ȥ������ԥ������ޤθ����ѥ��ˤ������Ļ����ɤ�����Ƚ�̤���ؿ����ޤ��� ����ơ��֥��ޤॹ�����ޤ������ѥ����¸�ߤ��������ѥ����������Ʊ��̾���Υơ��֥뤬�ʤ���硢���Υơ��֥�ϲĻ�Ǥ���ȸ����ޤ��� �Ĥޤꡢ����ϡ��ơ��֥뤬����Ū�ʥ����������ʤ���̾���ˤ�äƻ��Ȳ�ǽ�Ǥ���Ȥ������ȤǤ��� �㤨�С����Τ褦�ˤ��ơ����ƤβĻ�ơ��֥��̾��������ǽ�Ǥ���
SELECT relname FROM pg_class WHERE pg_table_is_visible(oid);
ɽ 9-41. �������Ļ����Ȳ�ؿ�
̾�� | ����ͷ� | ���� |
---|---|---|
pg_table_is_visible(table_oid) | boolean | �ơ��֥뤬�����ѥ��ˤ����ƲĻ�Ǥ���Τ� |
pg_type_is_visible(type_oid) | boolean | �ǡ�����(�ޤ��ϥɥᥤ��)�������ѥ��ˤ����ƲĻ�Ǥ���Τ� |
pg_function_is_visible(function_oid) | boolean | �ؿ��������ѥ��ˤ����ƲĻ�Ǥ���Τ� |
pg_operator_is_visible(operator_oid) | boolean | �黻�Ҥ������ѥ��ˤ����ƲĻ�Ǥ���Τ� |
pg_opclass_is_visible(opclass_oid) | boolean | �黻�ҥ��饹�������ѥ��ˤ����ƲĻ�Ǥ���Τ� |
pg_conversion_is_visible(conversion_oid) | boolean | �Ѵ��������ѥ��ˤ����ƲĻ�Ǥ���Τ� |
pg_table_is_visible�ؿ��ˤ�ꡢ�ơ��֥�(�⤷���ϥӥ塼���⤷����¾��pg_class����ȥ�μ�������)���Ф��븡����Ԥʤ��ޤ��� pg_type_is_visible��pg_function_is_visible��pg_operator_is_visible��pg_opclass_is_visible�����pg_conversion_is_visible�ؿ��ˤ�ꡢ���줾��ǡ�����(����ӥɥᥤ��)���ؿ����黻�ҡ��黻�ҥ��饹������ӡ��Ѵ����Ф���Ʊ�ͤβĻ���������Ԥʤ��ޤ��� �ؿ�����ӱ黻�Ҥξ�硢�����ѥ��Τ�������βս�ˡ�Ʊ��̾������Ӱ����ǡ������Υ��֥������Ȥ��ʤ���С����Υѥ���ǥ��֥������ȤϲĻ�Ǥ��� �黻�ҥ��饹�ξ�硢̾������Ӵ�Ϣ�դ����Ƥ��륤��ǥå�������������åɤ�ξ������θ����ޤ���
�����δؿ������ơ��������륪�֥������Ȥ��̤��뤿��ˡ����֥������Ȥ�OID��ɬ�פȤ��ޤ��� ���֥������Ȥ�̾���ǥƥ��Ȥ����硢OID��̾��(regclass��regtype��regprocedure���ޤ��� regoperator)����Ѥ���������Ǥ��� �㤨�С��ʲ��Τ褦�ˤ��ޤ���
SELECT pg_type_is_visible('myschema.widget'::regtype);
�����������Τ褦�˽�������Ƥ��ʤ�̾����ƥ��Ȥ��Ƥ⡢���ޤ��̣���ʤ����Ȥ����դ��Ƥ��������� ̾����ǧ�������С������ɬ���Ļ�Ȥ������Ȥˤʤ�ޤ���
ɽ9-42�ˡ������ƥ५����������������Ф���ؿ�����ޤ���
ɽ 9-42. �����ƥ५����������ؿ�
̾�� | ����ͷ� | ���� |
---|---|---|
format_type(type_oid, typemod) | text | �ǡ�������SQL̾�μ��� |
pg_get_viewdef(view_name) | text | �ӥ塼��CREATE VIEW���ޥ�ɤμ���(�ѻ�ͽ��) |
pg_get_viewdef(view_name, pretty_bool) | text | �ӥ塼��CREATE VIEW���ޥ�ɤμ���(�ѻ�ͽ��) |
pg_get_viewdef(view_oid) | text | �ӥ塼��CREATE VIEW���ޥ�ɤμ��� |
pg_get_viewdef(view_oid, pretty_bool) | text | �ӥ塼��CREATE VIEW���ޥ�ɤμ��� |
pg_get_ruledef(rule_oid) | text | �롼���CREATE RULE���ޥ�ɤμ��� |
pg_get_ruledef(rule_oid, pretty_bool) | text | �롼���CREATE RULE���ޥ�ɤμ��� |
pg_get_indexdef(index_oid) | text | ����ǥå�����CREATE INDEX���ޥ�ɤμ��� |
pg_get_indexdef(index_oid, column_no, pretty_bool) | text | ����ǥå�����CREATE INDEX���ޥ�ɤμ����� ���뤤��column_no�����ξ��ϡ�1�ĤΥ���ǥå�����Τߤ�����μ��� |
pg_get_triggerdef(trigger_oid) | text | �ȥꥬ��CREATE [ CONSTRAINT ] TRIGGER���ޥ�ɤμ��� |
pg_get_constraintdef(constraint_oid) | text | ���������� |
pg_get_constraintdef(constraint_oid, pretty_bool) | text | ���������� |
pg_get_expr(expr_text, relation_oid) | text | �������������εե���ѥ��롣 ������ѿ�������ѥ����Ǽ����줿��졼�����Ȥ��Ƥ����ΤȲ��ꡣ |
pg_get_expr(expr_text, relation_oid, pretty_bool) | text | �������������εե���ѥ��롣 ������ѿ�������ѥ����Ǽ����줿��졼�����Ȥ��Ƥ����ΤȲ��ꡣ |
pg_get_userbyid(userid) | name | Ϳ����줿ID����ĥ桼��̾����� |
pg_get_serial_sequence(table_name, column_name) | text | serial�⤷����bigserial���Ѥ��륷������̾����� |
pg_tablespace_databases(tablespace_oid) | setof oid | �ơ��֥������˥��֥������Ȥ���ĥǡ����١�����OID������� |
format_type�Ϸ���OID�Ȥ⤷����з������ҤǼ��̤����ǡ�������SQL̾���֤��ޤ��� ����ν����Ҥ������Ǥ���С����η������Ҥ�NULL���Ϥ��Ƥ���������
pg_get_viewdef��pg_get_ruledef��pg_get_indexdef��pg_get_triggerdef�������pg_get_constraintdef�ؿ��Ϥ��줾�졢�ӥ塼���롼�롢����ǥå������ȥꥬ�����뤤������κ������ޥ�ɤ�ƹ��ۤ��ޤ��� (����ϡ��ե���ѥ���ˤ��ƹ��ۤǤ��äơ����Υ��ޥ�ɥƥ����ȤǤʤ����Ȥ����դ��Ƥ���������) pg_get_expr�ϡ���Υǥե�����ͤʤɸġ��μ�������������ե���ѥ��뤷�ޤ��� �����ƥ५�����������Ƥ��ǧ����������Ω�Ĥ��⤷��ޤ��� �����ΤۤȤ�ɤ�2�Ĥμ��������ޤ��� ��1�Ĥϥ��ץ����Ƿ�̤�"���פ�ɽ��"���뤳�Ȥ��Ǥ��ޤ��� ���פ�ɽ������Ǥϡ�����������ޤ�ޤ������ǥե���Ȥν���������ΥС�������PostgreSQL�Ǥ�Ʊ�ͤ˲�᤹�뤳�Ȥ��Ǥ������Ǥ��� ����פ���Ū�Ȥ�����ϡ����פ�ɽ��������Ϥ���Ѥ��ʤ��Ǥ��������� ���פ�ɽ���ѤΥѥ�����false���Ϥ����Ȥǡ����Υѥ��������������ʤ�����η�̤�Ʊ��η�̤��������ޤ���
pg_get_userbyid()�ϡ�Ϳ����줿�桼��ID�ֹ椫��桼��̾����Ф��ޤ��� pg_get_serial_sequence�ϡ�serial�ޤ���bigserial��˴�Ϣ�դ�����������̾������Ф��ޤ��� ����̾���ϥ������ؿ�����9.12���ȡˤ��Ϥ��ݤ�Ŭ���Ƥ��ޤ��� ��˥���������Ϳ����Ƥ��ʤ�����NULL���֤���ޤ���
pg_tablespace_databases�ˤ��ơ��֥���֤λ��Ѿ������ǧ���뤳�Ȥ��Ǥ��ޤ��� ����ϡ����Υơ��֥������˳�Ǽ���줿���֥������Ȥ���ĥǡ����١�����OID�ν�����֤��ޤ��� ���δؿ������餫�ιԤ��֤�����硢���Υơ��֥���֤϶��ǤϤʤ������Τ��ᡢ������뤳�Ȥ��Ǥ��ޤ��� �ơ��֥������˳�Ǽ���줿����Υ��֥������Ȥ�ɽ�����뤿��ˤϡ�pg_tablespace_databases�Ǽ��̤��줿�ǡ����١�������³��������pg_class�����������䤤��碌��Ԥ�ɬ�פ�����ޤ���
ɽ9-43�˼������ؿ��ϡ�COMMENT���ޥ�ɤˤ�äư�������¸���줿�����Ȥ���Ф��ޤ��� ���ꤵ�줿�ѥ����˰��פ��륳���Ȥ����Ф���ʤ���硢NULL�ͤ��֤���ޤ���
ɽ 9-43. �����Ⱦ���ؿ�
̾�� | ����ͷ� | ���� |
---|---|---|
obj_description(object_oid, catalog_name) | text | �ǡ����١������֥������ȤΥ����Ȥ���� |
obj_description(object_oid) | text | �ǡ����١������֥������ȤΥ����Ȥ���� (�ѻ�ͽ��) |
col_description(table_oid, column_number) | text | �ơ��֥����Υ����Ȥ���� |
obj_description()�ؿ���2�ѥ��������Ϥ���OID����ͭ���Ƥ��륷���ƥ५��������̾���ǻ��ꤵ�줿�ǡ����١������֥������ȤΥ����Ȥ��֤��ޤ��� �㤨�С�obj_description(123456,'pg_class')��OID 123456����ĥơ��֥�Υ����Ȥ���Ф��ޤ��� obj_description()�ؿ���ñ��ѥ��������ϥ��֥������Ȥ�OID�Τ�ɬ�פȤ��ޤ��� �ۤʤä������ƥ५���������Ϥä�OID����դǤ����ݾڤ�̵�����Ȥ��鸽�ߤϻȤ��ޤ��� �Ǥ����顢�ְ�ä������Ȥ��֤뤳�Ȥ�����ޤ���
col_description()�ؿ��ϡ��ơ��֥��OID�Ȥ������ֹ�ǻ��ꤵ���ơ��֥����Υ����Ȥ��֤��ޤ��� obj_description()�ؿ��ϡ��ơ��֥����Τ�OID���ͭ���Ƥ��ޤ���Τǡ��ơ��֥�����Ф��ƻ��Ѥ��뤳�ȤϤǤ��ޤ���