Use*_*er1 6 postgresql dirtyread
我有一个长时间运行的功能,应插入新行.如何查看此功能的进度?
我认为脏读将起作用所以我阅读http://www.postgresql.org/docs/8.4/interactive/sql-set-transaction.html并提出以下代码并在新会话中运行它:
SET SESSION CHARACTERISTICS AS SERIALIZABLE;
SELECT * FROM MyTable;
Run Code Online (Sandbox Code Playgroud)
Postgres给我一个语法错误.我究竟做错了什么?如果我做对了,那么当长函数仍在运行时,我会看到插入的记录吗?
谢谢
Mag*_*der 11
PostgreSQL没有实现一种方法让你从函数外部看到这个,也就是READ UNCOMMITTED隔离级别.您的基本两个选项是:
RAISE NOTICE向您展示您的距离小智 6
在PostgreSQL中,您可以请求四个标准事务隔离级别中的任何一个.但在内部,只有两个不同的隔离级别,对应于Read Committed和Serializable级别.当您选择级别Read Uncommitted时,您确实获得了Read Committed,当您选择Repeatable Read时,您确实获得了Serializable,因此实际的隔离级别可能比您选择的更严格.这是SQL标准所允许的:四个隔离级别仅定义哪些现象不得发生,它们不定义必须发生的现象.
| 归档时间: |
|
| 查看次数: |
8009 次 |
| 最近记录: |