当前位置: 首页 > wzjs >正文

大学毕业做网站插画师好吗口碑营销策略有哪些

大学毕业做网站插画师好吗,口碑营销策略有哪些,CSS3网站开发,网站免费的PostgreSQL的扩展(extensions)-常用的扩展-pg_dirtyread pg_dirtyread 是 PostgreSQL 的一个特殊扩展,它允许读取已被删除但尚未被 VACUUM 清理的数据行,是数据恢复的重要工具。 原理: pg_dirtyread 通过直接访问表的…

PostgreSQL的扩展(extensions)-常用的扩展-pg_dirtyread

pg_dirtyread 是 PostgreSQL 的一个特殊扩展,它允许读取已被删除但尚未被 VACUUM 清理的数据行,是数据恢复的重要工具。

原理:
pg_dirtyread 通过直接访问表的底层页面,绕过 PostgreSQL 正常的可见性规则检查:

  • 读取表的物理页面数据
  • 忽略 xmax 标记(删除事务ID)
  • 返回所有行版本,包括被删除的行

时间窗口限制:

  • 只能读取尚未被 VACUUM 清理的数据
  • 常规表:通常保留几小时到几天
  • 频繁更新的表:保留时间更短

不支持的场景:

  • TRUNCATE 操作删除的数据
  • DROP TABLE 删除的表
  • 已执行 VACUUM FULL 的表

一 下载并编译安装

1.1 下载

在这里插入图片描述

下载网址:
https://github.com/df7cb/pg_dirtyread/tags

1.2 编译安装

make
make install

1.3 创建 pg_dirtyread

–修改postgresql.conf文件

shared_preload_libraries = 'pg_stat_kcache,pg_stat_statements,auto_explain,pg_dirtyread'        # (change requires restart)

–创建extension

white=# create extension pg_dirtyread;
CREATE EXTENSION
white=# 
white=# select * from pg_EXTENSION;oid  |      extname       | extowner | extnamespace | extrelocatable | extversion | extconfig | extcondition 
-------+--------------------+----------+--------------+----------------+------------+-----------+--------------14270 | plpgsql            |       10 |           11 | f              | 1.0        |           | 17620 | pg_repack          |       10 |         2200 | f              | 1.5.0      |           | 17659 | pg_stat_statements |       10 |         2200 | t              | 1.10       |           | 17739 | pgstattuple        |       10 |         2200 | t              | 1.5        |           | 17840 | pg_bulkload        |       10 |         2200 | f              | 3.1.21     |           | 17861 | pg_dirtyread       |       10 |         2200 | t              | 2          |           | 
(6 rows)

二 测试

2.1 测试一:先delete,再关闭表的autovacuum。(找回失败)

white=# select count(*) from yewu1.t3;count 
-------100
(1 row)white=# 
white=# delete from yewu1.t3 where id >10;
DELETE 90
white=# 
white=# select count(*) from yewu1.t3;count 
-------10
(1 row)white=# ALTER TABLE yewu1.t3 SET (
white(#       autovacuum_enabled = false, toast.autovacuum_enabled = false
white(#     );
ALTER TABLE
white=# 
white=# SELECT * FROM pg_dirtyread('yewu1.t3') as t(id int, name varchar(20));id |  name   
----+---------1 | haha_12 | haha_23 | haha_34 | haha_45 | haha_56 | haha_67 | haha_78 | haha_89 | haha_910 | haha_10
(10 rows)white=# 

2.2 测试二:先关闭表的autovacuum,再delete。(找回成功)

white=# select count(*) from yewu1.t3;count 
-------100
(1 row)white=# ALTER TABLE yewu1.t3 SET (
white(#       autovacuum_enabled = false, toast.autovacuum_enabled = false
white(#     );
ALTER TABLE
white=# 
white=# delete from yewu1.t3 where id > 10;
DELETE 90
white=# 
white=# select count(*) from yewu1.t3;count 
-------10
(1 row)white=# 
white=# SELECT * FROM pg_dirtyread('yewu1.t3') as t(id int, name varchar(20));id  |   name   
-----+----------1 | haha_12 | haha_23 | haha_34 | haha_45 | haha_5
。。。省略。。。96 | haha_9697 | haha_9798 | haha_9899 | haha_99100 | haha_100
(100 rows)white=# 
white=# 

查看autovacuum默认配置
在默认配置下,表发生较小的变化就会触发autovacuum,进而影响pg_dirtyread,减少了其可用性。

#autovacuum_work_mem = -1               # min 1MB, or -1 to use maintenance_work_mem
#log_autovacuum_min_duration = 10min    # log autovacuum activity;
#autovacuum = on                        # Enable autovacuum subprocess?  'on'
#autovacuum_max_workers = 3             # max number of autovacuum subprocesses
#autovacuum_naptime = 1min              # time between autovacuum runs
#autovacuum_vacuum_threshold = 50       # min number of row updates before
#autovacuum_vacuum_insert_threshold = 1000      # min number of row inserts
#autovacuum_analyze_threshold = 50      # min number of row updates before
#autovacuum_vacuum_scale_factor = 0.2   # fraction of table size before vacuum
#autovacuum_vacuum_insert_scale_factor = 0.2    # fraction of inserts over table
#autovacuum_analyze_scale_factor = 0.1  # fraction of table size before analyze
#autovacuum_freeze_max_age = 200000000  # maximum XID age before forced vacuum
#autovacuum_multixact_freeze_max_age = 400000000        # maximum multixact age
#autovacuum_vacuum_cost_delay = 2ms     # default vacuum cost delay for# autovacuum, in milliseconds;
#autovacuum_vacuum_cost_limit = -1      # default vacuum cost limit for# autovacuum, -1 means use

谨记:心存敬畏,行有所止。

http://www.dtcms.com/wzjs/275880.html

相关文章:

  • wordpress模板中文快速优化工具
  • 网站301跳转找索引擎seo
  • wordpress设置页面加载桂林网站优化
  • 做竞猜网站犯法吗邵阳网站seo
  • 做网站找 汇搜网络瑞金网络推广
  • 高端网站建设 选择磐石网络上海网络推广专员
  • 交易网站建设需要学什么软件seo关键词推广怎么做
  • 如何宣传商务网站郑州seo优化外包热狗网
  • 烟台专业网站建设百度seo优化技术
  • wordpress 制作亚马逊关键词优化怎么做
  • 网站前台做好以后用什么生成后台管理系统搜索引擎是指什么
  • 简单网站后台模板产品营销策划方案
  • 做餐饮系统网站建设seo三人行论坛
  • 如何建立论坛网站上海网站外包
  • 泉州服装网站建设长沙优化官网服务
  • 免费做ppt网站网站设计与制作
  • 购物网站制作多少钱北京网站seo技术厂家
  • 广州市筑正工程建设有限公司网站百度免费推广平台
  • 如何查网站的百度快照网站推广优化服务
  • 职业生涯规划用什么网站做测试360识图
  • 西宁网站制作哪家公司好线上营销技巧和营销方法
  • 沈阳定制网站开发公司seo策略分析
  • 做爰网站視屏高级seo是什么职位
  • 哈尔滨网站域名备案如何制作简单的网页链接
  • 邢台专业做wap网站百度搜索引擎网址格式
  • 企业做网站的公司有哪些西安网站公司推广
  • wordpress大发的微博怎么快速优化网站
  • 怎么创建网站域名广州网络推广万企在线
  • 学校网站建设介绍范文百度指数官网首页
  • php是网站开发的语言吗最新疫情爆发