小编xar*_*das的帖子

Postgresql:数据库不接受命令以避免环绕数据丢失

创建/删除/更新查询时出错:

错误:数据库不接受命令以避免数据库"mydb"中的环绕数据丢失提示:停止postmaster并使用独立后端来清空该数据库.您可能还需要提交或回滚旧准备的事务.

因此,数据库被阻止,只能执行SELECT查询.

数据库的大小为350 GB.1个表(my_table)有大约10亿行.

系统:"x86_64-unknown-linux-gnu上的PostgreSQL 9.3.4,由gcc(GCC)4.4.7 20120313(Red Hat 4.4.7-4)编译,64位"

postgresq.conf的一些设置:

effective_io_concurrency = 15           # 1-1000; 0 disables prefetching
autovacuum_vacuum_cost_delay = -1

#vacuum_cost_delay = 0                  # 0-100 milliseconds
#vacuum_cost_page_hit = 1               # 0-10000 credits
#vacuum_cost_page_miss = 10             # 0-10000 credits
#vacuum_cost_page_dirty = 20            # 0-10000 credits
#vacuum_cost_limit = 200 
Run Code Online (Sandbox Code Playgroud)

我不使用准备好的交易.但是使用基本的存储过程(这意味着,自动转换,对吧?)每天50mln次.

Сurrently"自动清理:真空分析公共.MY_TABLE(防止环绕)"被perforing,这是近12小时数查询活动.

据我所知,没有真空吸尘器的问题,对吗?

如何解决这个问题并在将来防止这种情况?请帮忙 :)

故事的结尾(约一个月后) 现在我的大表被数千个表分区.每个小桌子都抽真空得快得多.Autovacuum配置设置得更接近默认值.如果需要,我可以再次设置得更加激进,但到目前为止数十亿行的数据库工作得很好.

因此,该主题的问题不应再出现.

ps现在我正在将Postgres-XL视为数据可扩展性的下一步.

database postgresql rdbms vacuum

5
推荐指数
1
解决办法
6997
查看次数

Vert.x:记录文件的最佳方法

在Vert.x中最快的异步记录方式是什么?

目的是将来自不同类别(即Class1,Class2等)的记录器的日志写入1个文件(类似“ console.log”)

java performance vert.x

5
推荐指数
1
解决办法
5874
查看次数

amqp 交易所不会自动删除

我有rabbitmq 3.3.5运行和基于amqplib 0.2.1的nodejs项目

问题是一旦交换被断言,它不会在与rabbitmq 的连接关闭后被删除。

如果我们开始这样的例子

var amqp = require('amqplib');
var when = require('when');

amqp.connect('amqp://localhost').then(function(conn) {
  return when(conn.createChannel().then(function(ch) {
    var ex = 'logs_new';
    var ok = ch.assertExchange(ex, 'fanout', {durable: false, autoDelete: true}})

    var message = process.argv.slice(2).join(' ') ||
      'info: Hello World!';

    return ok.then(function() {
      ch.publish(ex, '', new Buffer(message));
      console.log(" [x] Sent '%s'", message);
      return ch.close();
    });
  })).ensure(function() { conn.close(); });
}).then(null, console.warn);
Run Code Online (Sandbox Code Playgroud)

并运行

#rabbitmqctl list_exchanges
Run Code Online (Sandbox Code Playgroud)

上市交易所...

amq.rabbitmq.log        topic
amq.rabbitmq.trace      topic
amq.topic       topic
logs_new    fanout
...done.
Run Code Online (Sandbox Code Playgroud)

尽管与rabbitmq 的连接已关闭,但交换(logs_new)仍然存在。

如果没有任何连接使用,如何告诉 rabbitmq 需要删除交换? …

amqp rabbitmq node.js

1
推荐指数
1
解决办法
2038
查看次数

标签 统计

amqp ×1

database ×1

java ×1

node.js ×1

performance ×1

postgresql ×1

rabbitmq ×1

rdbms ×1

vacuum ×1

vert.x ×1