代码之家  ›  专栏  ›  技术社区  ›  Liam

来自php的真空PostgreSQL数据库

  •  1
  • Liam  · 技术社区  · 16 年前

    我想从PHP中抽取一个PostgreSQL数据库。

    我尝试过:

    pg_query($conn,"vacuum analyse;");
    

    我怎么知道这是否有效?

    4 回复  |  直到 16 年前
        1
  •  4
  •   user80168    16 年前

    第一个问题:你为什么做真空吸尘器? ?这没有道理。实际上不应该打电话给它。

    第二:从PHP(大概是网页)运行真空可能有问题。真空很容易超过3分钟,这是(如果我记得正确)Web请求的标准超时。

    最好的解决办法是使用自动真空。如果您不能使用autovacuum-schedule vacuumdb调用,请使用cron。

        2
  •  3
  •   Liam    16 年前

    在运行真空查询之前和之后运行此查询。如果真空后的“年龄”比以前少,那么真空已成功运行。

    SELECT age(datfrozenxid) as age FROM pg_database where datname='your_db';
    
        3
  •  1
  •   Frank Farmer    16 年前

    如果真空运行超过几秒钟,则可以运行“ SELECT * FROM pg_stat_activity “在Postgres客户机中获取当前正在运行的查询的列表。你的“真空”问题应该会出现在那里。

        4
  •  1
  •   Milen A. Radev    16 年前

    我相信它不会返回错误,它可能会工作。这是真空的医生。

    http://www.postgresql.org/docs/current/interactive/sql-vacuum.html

    推荐文章