功能描述
取消一个先前为两阶段提交准备好的事务。
语法格式
ROLLBACK PREPARED transaction_id
参数说明
- transaction_id:待提交事务的标识符。它不能和任何当前预备事务已经使用了的标识符同名。
注意事项
要想回滚一个预备事务,必须是最初发起事务的用户,或者是系统管理员。
pg_prepared_xacts 系统视图中列出了当前可用的所有准备好的事务。
范例
ROLLBACK PREPARED 'foobar';
语法兼容
ROLLBACK PREPARED是一种 PostgreSQL扩展。
相关语法
PREPARE TRANSACTION, COMMIT PREPARED
功能描述
定义或更改一个应用到对象的安全标签。
语法格式
SECURITY LABEL [ FOR provider ] ON
{
TABLE object_name |
COLUMN table_name.column_name |
AGGREGATE aggregate_name ( aggregate_signature ) |
DATABASE object_name |
DOMAIN object_name |
EVENT TRIGGER object_name |
FOREIGN TABLE object_name
FUNCTION function_name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] |
LARGE OBJECT large_object_oid |
MATERIALIZED VIEW object_name |
[ PROCEDURAL ] LANGUAGE object_name |
PUBLICATION object_name |
ROLE object_name |
SCHEMA object_name |
SEQUENCE object_name |
SUBSCRIPTION object_name |
TABLESPACE object_name |
TYPE object_name |
VIEW object_name
} IS 'label'
其中 aggregate_signature 是:
* |
[ argmode ] [ argname ] argtype [ , ... ] |
[ [ argmode ] [ argname ] argtype [ , ... ] ] ORDER BY [ argmode ] [ argname ] argtype [ , ... ]
参数说明
- object_name | table_name.column_name | aggregate_name | function_name:要被加上标签的对象的名称,可以是表、聚集、域、外部表、函数、序列、类型和视图的名称,可以被模式修饰;
- provider:该标签关联的提出者的名称;
- argmode:参数的模式,可选的参数:IN、OUT、INOUT或者VARIADIC,缺省情况下为IN;
- argname:参数的名称;
- argtype:参数的数据类型;
- large_object_oid:大对象的OID;
- PROCEDURAL:噪声词;
- label:新的安全标签,为一个字符串,NULL表示删除原有的安全标签;
注意事项
数据库未限制安全标签的提供者及标签定义,仅提供存储机制。
范例
SECURITY LABEL ON TABLE g_c1 IS 'system_u:object_r:sepgsql_table_t:s0';
语法兼容
在SQL标准中没有SECURITY LABEL命令。
功能描述
用于从表或视图中取出数据。
语法格式
[ WITH [ RECURSIVE ] with_query [, ...] ]
SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]
[ * | expression [ [ AS ] output_name ] [, ...] ]
[ FROM from_item [, ...] ]
[ WHERE condition ]
[ GROUP BY grouping_element [, ...] ]
[ HAVING condition [, ...] ]
[ WINDOW window_name AS ( window_definition ) [, ...] ]
[ { UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] select ]
[ ORDER BY expression [ ASC | DESC | USING operator ] [ NULLS { FIRST | LAST } ] [, ...] ]
[ LIMIT { count | ALL } ]
[ OFFSET start [ ROW | ROWS ] ]
[ FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY ]
[ FOR { UPDATE | NO KEY UPDATE | SHARE | KEY SHARE } [ OF table_name [, ...] ] [ NOWAIT ] [...] ]
其中 from_item 可以是以下之一:
[ ONLY ] table_name [ * ] [ [ AS ] alias [ ( column_alias [, ...] ) ] ]
<