标签: postgresql

在进行大量写入时调用 pg_ctl reload 是否安全?

我正在运行 Postgres 8.4,我想更改用户的身份验证方法。我的理解是,我必须在 中执行此操作pg_hba.conf,然后使用pg_ctl reload(或在本例中为service postgresql reload)重新加载配置文件以使设置生效。

但是,我还使用多个进程从平面文件中导入了大量数据。

这样做安全吗?

postgresql

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

按时差对数据库条目进行分组

我有一个带有日志数据的大型 postgreSQL 数据库。所有这些数据都有时间戳,我想对时间戳之间的差异小于 1500 毫秒的连续行进行分组。

例如:

1349427083272
1349427083669
1349427083707
1349427084277
1349427084787
1349427093471
1349427094031
1349427094307
1349427094980
1349427095879
1349427097211
1349437622947
1349437623813
1349437624316
1349437624815
1349437624938
Run Code Online (Sandbox Code Playgroud)

应导致以下组:

1349427083272
1349427083669
1349427083707
1349427084277
1349427084787

1349427093471
1349427094031
1349427094307
1349427094980
1349427095879
1349427097211

1349437622947
1349437623813
1349437624316
1349437624815
1349437624938
Run Code Online (Sandbox Code Playgroud)

组标识符可以只是一个唯一的整数。

在 MySQL 中,我发现了一个类似的例子,它使用了很多变量,但我不知道如何在 postgreSQL 中做到这一点。有人可以帮我吗?

postgresql timestamp group-by postgresql-9.1

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

如何查看基于 Postgresql 视图的完整、扁平化查询?

如果我有一个视图(等)的视图,有没有办法显示这个扩展/展平的完整查询?

postgresql

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

如何安排PostgreSQL复制?

我正在阅读 postgresql 复制解决方案,但是,即使我刚刚开始了解它是如何工作的,另一个疑问也出现了。我将使用 postgres 内部复制解决方案,但据我所知,每个事件都将在实现时复制;例如,如果我将一些数据插入主站,它会自动复制到从站......我对吗?

嗯,是这样吗,我正在寻找将此复制安排为被动备份的方法,但问题是,例如,我需要在每个星期一晚上将数据库与当天插入的所有数据一起复制到Amazon EC2 虚拟服务器中的从数据库。我正在考虑使用 cron 作为第一种方法,但阅读 postgres 文档我意识到实际上只配置必要的文件,postgres 为你做...

那么,我怎样才能在需要的时刻安排复制呢?

PD.-时间表可能会有所不同,因此它需要完全通用,而且...我正在使用 Ubuntu 12.04 和 PostgreSQL 9.1,就像在主从中一样。谢谢

postgresql replication scripting scheduled-tasks amazon-rds

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

为什么 postgres 使用时区的时间比使用时区的时间戳使用更多的空间?

日期/时间数据类型的文档说明timestamp with timezone需要 8 个字节,而time with timezone需要 12 个字节。它们都具有相同的分辨率(1 微秒),从表面上看,它们timestamp with timezone存储的信息更多。

谁能解释这种行为?

time with timezone由于同一页面上解释的原因,我不打算使用。

postgresql datatypes

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

如何放弃继承?

我是 PostgreSQL 的新手。我遇到的情况是有人创建了一个从父表继承的子表。并丢弃了子表。但是父表上仍然有“向下箭头”标志。

我检查过,父表上没有其他链接/关系。这真的是个问题吗?

有人告诉我,父表仍处于“已继承”状态并导致性能问题。如何解决这个问题?通过从父表中删除“已继承”状态?

postgresql inheritance

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

使用三元组索引不一致的查询执行时间?

我有一张桌子residences...

我安装了trgm: create extension pg_trgm;

使用以下方法将三元组索引添加到grpname列后:

CREATE INDEX residences_name_trgm ON residences USING GIN (name gin_trgm_ops);
CREATE INDEX residences_grp_trgm ON residences USING GIN (grp gin_trgm_ops);
Run Code Online (Sandbox Code Playgroud)

并检查一个简单查询的性能......似乎name列上查询的总运行时间运行速度提高了大约 100 倍。为什么是这样?

EXPLAIN ANALYZE SELECT * FROM residences WHERE name ILIKE '%Sutton%';
                                                            QUERY PLAN                                                            
----------------------------------------------------------------------------------------------------------------------------------
 Bitmap Heap Scan on residences  (cost=36.02..47.90 rows=3 width=1872) (actual time=0.390..0.720 rows=21 loops=1)
   Recheck Cond: ((name)::text ~~ '%Sutton%'::text)
   ->  Bitmap Index Scan on residences_name_trgm_gin  (cost=0.00..36.02 rows=3 width=0) (actual time=0.354..0.354 rows=21 loops=1)
         Index …
Run Code Online (Sandbox Code Playgroud)

postgresql

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

在 Postgres 中向系统目录添加索引

我遇到的情况与此处描述的情况非常相似:

我有一个 SaaS 情况,我在单个数据库中使用 1000 多个模式(每个模式包含相同的表,只是每个租户的数据不同)。我使用了模式,以便共享应用程序服务器可以为所有模式共享到单个数据库的连接。一切正常。

而且,虽然应用程序本身似乎运行良好,但一些涉及系统目录的查询非常缓慢。此外,psql的自动完成完全没用,\dt而且速度很慢。

特别是,我需要使用以下方法计算每个模式的磁盘大小:

SELECT sum(pg_total_relation_size(c.oid)) AS size
FROM   pg_namespace n
JOIN   pg_class     c ON c.relnamespace = n.oid
WHERE  n.nspname = 'abbiecarmer'
AND    c.relkind = 'r';
Run Code Online (Sandbox Code Playgroud)

这很慢。查看查询计划,我看到

Aggregate  (cost=136903.16..136903.17 rows=1 width=4) (actual time=1024.420..1024.420 rows=1 loops=1)             
  ->  Hash Join  (cost=8.28..136902.86 rows=59 width=4) (actual time=143.247..1016.749 rows=60 loops=1)           
        Hash Cond: (c.relnamespace = n.oid)                                                                       
        ->  Seq Scan on pg_class c  (cost=0.00..133645.24 rows=866333 width=8) (actual time=0.045..943.029 rows=879788 loops=1)                                                                                                    ?
              Filter: (relkind = 'r'::"char")                                                                     
              Rows Removed …
Run Code Online (Sandbox Code Playgroud)

postgresql index information-schema system-tables

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

PostgreSQL 维护

我是 PostgreSQL 的新手,想了解更多有关 pgAdmin III 中维护选项的信息。

我已经阅读了文档,现在我知道吸尘可以释放一些空间,我需要定期运行它。此外,我需要通过 ANALYSIS 更新数据库统计信息,以便查询执行程序可以选择最佳计划,我还需要 REINDEX 来重新生成索引。

我为此目的使用的窗口在这里:http : //www.pgadmin.org/docs/dev/maintenance.html

关于行为和选项的一些问题:

  1. 如果我运行 VACUUM 而不选择以下任何选项(FULL、FREEZE、ANALYZE),PostgreSQL 会做什么?它只会释放一些空间,仅此而已吗?

  2. 如果我运行带有分析选项的 VACUUM,它与运行 VACUUM 而不分析然后单独运行 ANALYZE 是一样的。什么工作更快?

  3. 做完 VACUUM 和 ANALYZE 后做 REINDEX 值得吗?我可以在详细的消息中看到索引在没有选项的情况下受到 VACUUM 的影响。我应该运行 REINDEX 以使我的索引工作得更快吗?

postgresql maintenance vacuum

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

等价于其他数据库中的`ora_rowscn`?

Oracle 以外的其他数据库是否有ora_rowscnhttp://docs.oracle.com/cd/B19306_01/server.102/b14200/pseudocolumns007.htm)等价物,或者您是否必须在您的字段、代码和存储过程中自己实现它们?

ora_rowscn是附加到使用某些特定设置创建的 Oracle 中所有表的伪列,在执行乐观离线锁定时使用

mysql postgresql sql-server data-versioning

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