问题标签 [wal]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
core-data - 如何禁用 WAL 日志模式
https://developer.apple.com/library/ios/releasenotes/DataManagement/WhatsNew_CoreData_iOS/
我在禁用日记模式时遇到问题。
我的代码是:
我将如何禁用日志模式 WAL。
谢谢
postgresql - 如何将postgresql wal日志文件解析为sql
PostgreSQL 数据库服务器将“更改数据”存储在 WAL 日志文件中,我想将归档日志文件解析为 sql,就像将 mysqlbinlog
binlog 文件解析为 sql 一样,我可以找到应用程序执行 sql。有没有人有这样的工具?
java - 后台服务和 UI 更新和实现 WAL
在我的应用程序中,我每天晚上 12 点使用警报运行服务,一切都按预期工作。
我有三个片段选项卡,每个选项卡都有一个列表视图,单击列表项会显示详细视图。
如果用户在 11:59(在服务从数据库更新基础数据之前)打开我的应用程序,他将在列表视图中获取数据,但是当时钟敲响 12 时,我的处理开始并且数据库被锁定(我有在服务运行时对数据库实施排他锁以防止多个线程干扰)当用户单击列表行时,详细视图具有空白字段并且正确,因此数据库被锁定并且当前正在更新。
我该如何避免这种情况?我试图通过检查我的服务是否从 Fragment 选项卡运行来显示加载程序对话框,我可以正确显示此对话框,但我发现很难终止它。
然后:
但我想知道如何从后台进程中终止它。任何想法我能做什么?
这样做的第二种方法是启用预写日志记录,如果有人帮助我找到一些关于在 android 中实现 WAL 的好方法,那就太好了。
sqlite - SQLite:有没有什么方法可以在没有 mmap() 函数的情况下使用 WAL?
出于性能和可靠性的原因,我想使用 WAL 模式。但是我的环境没有 mmap() 函数,所以我不能用 WAL 编译 SQLite(WAL 需要 mmap()。)。虽然设置PRAGMA locking_mode=EXCLUSIVE
允许在没有 mmap() 的情况下使用 WAL(在这种情况下,WAL-index 是在堆内存而不是共享文件上创建的),但对于管理多个数据库连接的应用程序来说,这不是一个好的解决方案。
我在一个进程中使用具有多个数据库连接(用于线程间并发)的 SQLite,而 mmap() 似乎仅用于进程间内存共享。因为我希望有一种方法可以在单进程环境中使用没有 mmap() 的 WAL。但我找不到好的解决方案。有什么想法可以解决这个问题吗?
谢谢。
postgresql - 在 pg_restore 期间禁用 WAL 归档?
假设我pg_dump
在进行大规模破坏性迁移之前对我的 Postgres 9.3 DB 进行了快速备份转储,我发现我想撤消它。与此同时,没有对 DB 执行任何写入操作。
假设我运行pg_restore -c -d mydb < foo.dump
将转储加载回数据库。archive_mode
假设我已将 WAL-E 设置为每 16mb 的 WAL 存档一次,我是否需要在执行还原之前关闭?当我将转储写回数据库时,归档 xlog 对我来说不是很有用,因为在转储之前我已经有完全有效的基本备份和 WAL 段归档。当我恢复转储时,执行 xlog 传送也会产生严重后果,随着转储的大小,情况会变得更糟。
您最终会在还原之前禁用存档吗?你有没有做其他事情来加快速度?在这篇文章中有一个关于恢复性能的讨论,但它根本不包括存档,除非我错过了一些东西。
sqlite - 如何在没有 -wal 和没有 -shm 的情况下将 MOC 的内容保存到文件中?
我想将 a 的内容保存MOC
到文件myFile.ext
中。一切正常,我的数据保存到文件中,但我还必须保存辅助文件:
myFile.ext-wal
myFile.ext-shm
这些文件对于我的目的是否必要(将 a 的内容保存MOC
到文件中)?我想将我的数据“运送”在一个文件中。此外,当我再次获取数据时,我只使用URL
.myFile.ext
如果它们不是必需的,是否可以避免创建它们?
postgresql - COPY FROM 是否写入事务日志?
在 postgres 9.3 中,该COPY FROM ... STDIN;
命令是迄今为止插入批量数据的最快方法。这是否以不将这些插入的行写入事务日志为代价?我们正在使用 Write-Ahead Logging 来更新辅助服务器,因此这样做很重要。
java - Java OutOfMemoryError / OrientDB WAL Flush Task 将 2M 记录导入 OrientDB 后出错
在我的一个导入脚本完成导入所有数据后,我尝试重新启动它以获取任何更新的数据。它做的第一件事是获取最近更新的记录:
但是,这导致我的节点脚本出现以下错误:
我收到以下服务器输出:
由于以下原因,我的另一个同时运行的导入脚本也停止了:
再次尝试运行原始脚本后,我在服务器中得到以下输出:
节点脚本输出:
编辑
将内存限制增加到 2GB 后,我能够插入 5M 记录(而不是之前的 2M 记录),但仍然遇到此错误。
python - 在 iOS 7.0 中合并两个带有 wal 和 shm 约束的 sqlite 数据库
我已经阅读了许多关于 sqlite 数据库以及如何使用 wal 和 checkpoint 进行更新的主题,但尽管互联网上有所有信息,但我真的不明白。
我将台式计算机上的两个 sqlite 数据库与 Python 脚本合并,但是当我将新文件(store.data)放回 Xcode 中的文件夹并替换旧文件时,应用程序在运行时崩溃(错误 259)。我认为这是因为原始 wal/shm 文件无法识别新数据库(现在具有新信息/列/行),但我无法弄清楚如何从该文件创建新的 wal/shm。或者我应该在合并数据库的同时修改那些?
编辑:当我在 sqlite 浏览器应用程序中执行 PRAGMA wal_checkpoint(RESTART) 时它工作正常......我替换了我的 Xcode 文件夹中的旧文件,但它只有在我进行新的重建时才有效,而不是如果我只是在模拟器中打开它...这不会在真实设备上造成问题,因为我不会重建应用程序而只是启动它?有没有办法绕过它?
linux - 防止数据损坏
我正在研究在 ARM9 上运行的嵌入式 linux。文件系统是 ext4 类型(rw、sync、noatime、data=writeback)我实现了一个进程,该进程以 Write-Ahead-Loggin (WAL) 模式写入/读取 SQLite3 数据库,并启用了 unsync。发生断电时,我有大约两秒钟的时间通过同步和检查数据库来保存所有数据。但是,我仍然看到有时数据库被损坏,这在我的情况下真的不好。
我想为我的目的编写一个新的数据库引擎,以类似于 SQLite 的方式,数据库将保存在一个文件中。但是在这种情况下,我正在考虑将标头数据写入一个扇区,其余数据至少在两个扇区之后,因此数据库的大小会更大但是在写入数据时,它不会破坏标头文件,它包含索引等。这样,只有最后的数据会被破坏,而不是所有的文件,因为 SQLite 的行为。
我的问题是我的方法是否正确?