我有一个8个磁盘1T的磁盘arrays设备(UltraStor RS8IP4)。 它将完全由PostgresQL数据库使用,我正在尝试为它select最佳的RAID级别。 由于我们使用大型数据集(表,索引),而且我们做了大量的search/扫描,所以最重要的是读取性能。 我们现在使用的旧磁盘在SELECT上发生的速度最慢。 容错不那么重要,它可以是1或2个磁盘。 空间是最不重要的因素。 即使1T也足够了。 在这种情况下,你会推荐哪个RAID级别。 目前的选项是60,50和10,但其他select可能会更好。
我正试图修复一个高PostgreSQL CPU使用问题。 我们使用的是PostgreSQL 8.0.9,当我们的JEE Web应用程序(在JBoss中)用于某些负载增加的情况时,top显示PostgreSQL的进程缓慢增加。 出现问题时,大约有12-15个PostgreSQL进程在进程信息的最右侧显示SELECT,每个进程的CPU使用率大约为6-7%,然后应用程序变慢了很多。 JBoss版本:JBoss(MX MicroKernel)4.0.3 操作系统:CentOS Linux 5.5 内核和CPU:x86_64上的Linux 2.6.18-194.26.1.el5 处理器信息:2个Intel(R)Xeon(R)CPU E5420 @ 2.50GHz,8个内核 目前,我们的想法是投入更多的硬件。 如果我们这样做,最好的select是像下面的选项A还是选项B? 选项A:4个AMD Opteron™6100系列处理器,每个处理器有12个内核 选项B:4个Intel®Xeon®7500系列处理器,每个处理器8个内核 假设使用PostgreSQL 8.0.9的CentOS Linux 5.5可以按比例增加这么多的处理器和内核(每个内核有12个内核的处理器),是否正确? 还有什么我应该考虑投掷更多的硬件?
在运行PostgreSQL 8.4的Linux服务器上,文件postgresql.conf和pg_hba.conf在Ubuntu repos中安装在哪里?
如何在Debian Squeeze上重新启动postgresql 8.4? /etc/init.d/postgresql stop/start/restart什么都不做(没有输出)。
我正在使用基于Nexenta推荐架构的双头ZFS支持的NAS来实现高可用性群集共享存储,如下所示: 1 JBOD中的磁盘将存储单个4 TB Postgres数据库的数据库文件,以及其他JBOD存储20 TB大型原始二进制平面文件(用于大型恒星物体碰撞模拟的聚类结果)中的磁盘。 换句话说,支持Postgres文件的JBOD将主要处理随机工作负载,而支持仿真结果的JBOD将主要处理串行工作负载。 两个头节点都有256 GB的内存和16个内核。 该集群有大约200个核心,每个维护一个Postgres会话,所以我预计大约200个并发会话。 我想知道在我的设置中是否明智地让ZFS头节点同时作为我的群集的一对Postgres数据库服务器? 我能看到的唯一缺点是: 缩小基础设施的灵活性较差。 略低的冗余水平。 Postgres的内存和CPU资源有限。 然而,我看到的好处是,ZFS对于自动故障转移是非常愚蠢的,无需花费大量的工作就可以让每个Postgres数据库服务器找出头节点是否失败,因为它会与头部一起失败节点。
问题 我已经在EC2实例上安装了Bugzilla,使用PostgreSQL RDS作为我的数据库。 进入几十个错误之后,Bugzilla变得令人难以置信的慢,我得到了很多超时。 服务器负载 机器相当闲置: 14:26:00 up 23 days, 4:40, 2 users, load average: 0.15, 0.16, 0.25 %Cpu(s): 0.3 us, 0.3 sy, 0.1 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.2 st logging证据 来自Nginx日志的例子(为安全起见,主机名已更改): 2014/07/16 14:18:32 [error] 6462#0: *5040 upstream timed out (110: Connection timed out) while reading response header from upstream, […]
我正在尝试使用PostgreSql在我自己的服务器上运行tinyRSS。 不过,我不断收到这个错误: LOG: provided user name (tinyrss) and authenticated user name (apache) do not match FATAL: Peer authentication failed for user "tinyrss" 我明白,postgresql使用基于主机的身份validation,因为我没有相同的帐户名(tinyrss)作为主机我需要使用用户名映射,所以我添加到pg_ident.conf这行: # MAPNAME SYSTEM-USERNAME PG-USERNAME tinyrss hongyi tinyrss 并在pg_hba.conf下: # TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only # local all all peer # IPv4 local connections: […]
我有一个大约200万行的表格,其中包含我们用于分析的交易数据。 每个星期我们都会用新的数据重新载入,所以我们一直使用TRUNCATE清除它,然后插入新的行。 桌子上有几个索引。 如果我不删除并重新创build索引,每次截断和重新填充之后是否需要重新索引,还是不必要? 我应该在TRUNCATE之后运行VACUUM,还是这样也不必要?
任何人都知道任何全面的教程设置主masterconfiguration2 postgres 9.1数据库? 需要什么“附加”(例如Bucardo仍然是必需的)。 我曾尝试使用谷歌search,但很多职位,我发现可以追溯到几年,所以我不知道他们是否仍然相关。让我更具体: 例如,以下方法可能有效: – 在master1上安装bucardo – 按照以下方式设置复制:master1:master – master2:slave – validation复制是否正常如果以上方法正确,则: – 在master2上安装bucardo – master2:master – master1:slave – validation复制的工作原来是否足够或我缺less一个基本的东西? 下面是我从bucardo邮件列表得到的build议 – 也许这对某个人有用: “Bucardo只需要安装在一台主机上,但很显然,这不会提供高可用性function,通常情况下,在一个主 – 主设备的情况下,它安装在其中一个主设备上,如果主设备中的任何一个出现故障, Bucardo守护进程无论如何也不会有任何事情发生,所以HA对它来说是非常有意义的。“ 在此先感谢您的答复
有没有办法给postgres数据库一个别名? 从本质上讲,我需要一个数据库来操作两个名称,以便我可以查询DB_ALPHA和DB_ONE,并且它们具有完全相同的效果。 我在MySQL中通过在同一个目录中的数据库的符号链接来实现这一点。 我在postgres中找不到这个解决scheme的等价物。 我感谢帮助! 谢谢!