标签: postgresql

Redis 和 Postgresql 在同一台机器上:vm.overcommit_memory=?

在 Redis 文档中,它明确指出vm.overcommit_memory应设置1为确保后台保存更新失败:http://redis.io/topics/faq

然而

在 postgresql 文档中,它说,vm.overcommit_memory应该设置2为避免 post master 进程不会被 oom 杀手杀死:http://www.postgresql.org/docs/9.3/static/kernel-resources.html

现在看来,这是自相矛盾的。我应该怎么办?

我的 redis 数据库的限制为 20GB。服务器拥有 252GB 物理 RAM。Postgresql 很少使用超过 100GB 的物理内存。

PS:我使用的是 ubuntu 14、Redis 3.0 和 Postgresql 9.3

postgresql sysctl redis

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

Postgresql 9.6 通过 BTRFS。好主意还是坏主意?

我正在准备一台 VM 机器(在 Proxmox 上运行)来在 Ubuntu 16.04 LTS 上运行 postgresql 9.6。这个 postgres 将用于处理一家小公司的 Jira/FisheEye/Confluence 数据库。通常我们同时有几个用户,所以我们不需要调整它以获得极端的性能/可扩展性。

嗯,情况是,我们在服务器上使用 BTRFS 来帮助我们处理在必要时向虚拟机添加额外空间的问题,此外我们还启用了 lzo 压缩。此外,我们使用 btrok 来处理 BTRFS 子卷到另一台机器的备份。

我怀疑使用 BTRFS 处理 postgresql 数据库文件是否是一个好主意,因为我们在需要扩展虚拟硬盘空间的情况下会非常有帮助,但我读到了有关 postgresql 性能比 BTRFS 差的信息(在特殊情况下) datacow 未被禁用。

有人有这种情况的经验吗?

postgresql ubuntu btrfs ubuntu-16.04

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

为什么我的 PostgresQL 11 数据库集群在通过 systemctl 启动后立即关闭?

我在 Debian 9 上通过 apt-get 安装了 PostgresQL 11。安装后,我删除了默认数据库集群,并删除了自动启动该集群的所有服务。我现在已经运行 initdb 在自定义位置初始化一个新集群,并编写并启用了 systemd .service 文件以自动运行该文件。

我遇到了一个问题,机器启动时服务成功启动,但随后数据库立即关闭,服务立即停止。当我使用 systemctl 手动启动服务时,也会发生同样的情况。

.服务文件:

[Unit]
Description=PostgreSQL database server
Documentation=man:postgres(1)

[Service]
Environment=PGDATA=/home/(user)/.db
Environment=PGLOG=/home/(user)/postgres.log
Environment=PGSTARTTIMEOUT=270

Type=notify
User=(user)
Group=(group)
ExecStart=/usr/lib/postgresql/11/bin/pg_ctl start -D ${PGDATA} -l ${PGLOG} -t ${PGSTARTTIMEOUT}
ExecStop=/usr/lib/postgresql/11/bin/pg_ctl stop -D ${PGDATA} -m fast
ExecReload=/usr/lib/postgresql/11/bin/pg_ctl reload -D ${PGDATA}
KillMode=mixed
KillSignal=SIGINT
TimeoutSec=300

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

手动启动集群的命令:

su (user) -c '/usr/lib/postgresql/11/bin/pg_ctl start -D /home/(user)/.db -l /home/(user)/postgres.log -t 270'
Run Code Online (Sandbox Code Playgroud)

通过 systemctl 启动时的 PostgreSQL 日志:

2019-01-13 11:36:16.506 EST [1469] 日志:监听 IPv4 地址“127.0.0.1”,端口 5432

2019-01-13 11:36:16.508 EST …

postgresql systemd debian-stretch

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

了解 AWS RDS gp3 卷中的 EBSByteBalance%

我正在对一个 AWS RDS Postgres 实例进行故障排除,该实例在过去几天内已被 AWS 重启了多次,很可能是由于资源限制。这是一个测试数据库,通常不会做太多事情,但我们最近给它增加了一些更高的负载。我发现数据库的 EBS 卷 (200GB gp3) 耗尽了其吞吐量积分,并且数据库重新启动的时间与 EBSByteBalance% 指标达到零的时间非常吻合。然后,当数据库重新启动时,该卷显然会获得一组新的突发积分,如下面的屏幕截图所示:

EBSByteBalance% 3 天

由于我们减轻了数据库的负载,积分现在下降得稍微慢一些,但它们仍在下降。当我查看当前的读写吞吐量指标时,它们的总和似乎仅为 5 到 7 MiB/s,偶尔会出现峰值:

阅读吞吐量3小时 写入吞吐量 3 小时

根据在Amazon RDS 数据库实例存储中找到的信息,低于 400GB 的 gp3 卷的基准吞吐量应为 125MiB/s。那么任何人都可以帮我解释为什么 EBSByteBalance% 指标在这种情况下不断下降吗?谢谢!

postgresql performance amazon-ebs amazon-web-services amazon-rds

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

如何将表从一个 SQL 数据库复制到另一个?

我有一个数据库(它是 Postgres,如果这很重要),我想取出其中的两个表,导出它们,然后将它们导入另一个数据库。我怎么做?

编辑添加谷歌诱饵:转储

postgresql sql database

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

复制 postgresql 数据库

如何制作postgresql数据库的副本?

一些(我认为)步骤是:

  • 停止所有查询
  • 停止postgresql守护进程
  • 将数据库文件复制到新位置
  • 对配置文件进行一些更改
  • 重新加载服务器

任何想法我应该更改什么postgresql.conf才能通知 postgresql 服务器有关新数据库的信息?

postgresql

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

postgres 的最佳 RAID 配置

我正在购买带有 8 个 SAS 磁盘的服务器来执行数据库密集型程序。目前主要的瓶颈是 postgres 中的大型索引扫描。

我目前正在决定是 8x300Gb 10k 磁盘还是 8x140Gb 15k 磁盘,因为拥有 200Gb+ 逻辑空间会更方便。

RAID 控制器的规格表指出:“集成硬件 RAID-0、-1、-1E、可选 RAID-5、-6、-10、-50、-60”

什么是最好的 RAID 配置,以及最合适的磁盘选择是什么?

我是配置 RAID 和 postgres 的新手,并感谢您的建议。

postgresql raid hardware-raid

2
推荐指数
2
解决办法
9788
查看次数

postgres 数据库存储在硬盘上的位置

我想提交一个用于标记的课程作业,但我不知道什么文件代表数据库。 问题: 我在哪里可以找到我硬盘上的 postgres sql 数据库?谢谢。

postgresql database

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

是否有将大表从 mysql 导出到 postgresql 的快速方法?

我有一个包含大约 270 万条记录、63 个字段和几个索引的表。我需要能够快速从 mysql 获取这个表到 postgresql(比如在一小时内)。我知道mysql可以快速导出数据,但是postgresql在导入数据时似乎很慢。有任何想法吗?我已经导入了从 mysqldump 生成的 CSV 大约 3 个小时了。

mysql postgresql

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

如何在 RHEL 6 上安装 PostgreSQL 9?

我是 RHEL 6 的新手,但有一个项目需要 postgres 9 数据库,而我只有 RHEL 6 可用。我怎样才能安全地做到这一点?我应该从源代码安装还是某个地方有软件包?

postgresql linux redhat

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