我有一个连接到 RDS 实例 (Postgresql) 的 AWS EC2 实例。当我创建 RDS 实例时,我告诉它数据库 root 的用户名是:my_user1,密码是password1. 现在我正在尝试创建一个角色和一个超级用户。但它失败了:
$ createuser -P -d -s -e my_user2 --host myhost.com -U my_user1
Enter password for new role: XXXYYYZZZ
Enter it again: XXXYYYZZZ
Password: password1
CREATE ROLE my_user2 PASSWORD 'md5999999c0101a1d64afd57575e06f999c' SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN;
createuser: creation of new role failed: ERROR: must be superuser to create superusers
$
Run Code Online (Sandbox Code Playgroud)
当我在没有-s标志的情况下重复命令时,它可以工作:
$ createuser -P -d -e my_user2 --host myhost.com -U my_user1
Enter password for …Run Code Online (Sandbox Code Playgroud) 我有一个 Django 设置,在 Ubuntu 14.04 LTS 上使用 Django 1.6.7 和 Postgres 9.3。
在任何给定时间,该站点大约有 250 个同时连接到 PostgreSQL 数据库,该数据库是 2.5GHz 的四核 Xeon E5-2670,具有 16GB 的内存。该特定机器上全天的平均负载约为 20 到 30。
有时,我会在哨兵中收到有关数据库连接超时的电子邮件,我认为启用某种连接池将有助于缓解此问题,并稍微降低数据库的负载。
由于我们使用的是 Django 1.6,因此我们可以使用内置池。但是,当我将 CONN_MAX_AGE 设置为 10 秒或 60 秒时,同时连接的数量几乎立即跳到允许的最大设置(大约是我们通常看到的两倍),并且连接开始被拒绝。
所以,出现什么都原因,连接ARE坚持,但他们不被重用。
这可能是什么原因?
附注。我们还使用带有 --worker-class=eventlet 的 gunicorn。也许这就是我们痛苦的根源?
我对 pg_hba.conf 做了一些更改,我希望它们生效。我找到了几个地方,人们说我可以告诉 PostgreSQL 重新加载,但是列出了几种不同的技术,但没有一种对我有用。
我找到的最权威的参考是 pg_ctl 命令,但我不确定我的 PGDATA 文件夹在哪里。我会继续寻找。
我在 Ubuntu 8.10 上运行 PostgreSQL 8.3。
在我们的应用程序中,我们使用 Hibernate 和 PostgreSQL 来存储数据。在我们的一个数据库表中,我们有一个鉴别器列,例如“TIPPSPIEL”。它是一个固定字符串,不能被任何用户操纵。
突然,我们在这张巨大的表格中出现了一个条目,其中有“TIPPQPIEL”而不是“TIPPSPIEL”。我们不知道这是怎么发生的。
有没有可能我们的硬盘在切换一位,所以我们的字母“S”不再编码为“1010001”而是突然变成硬盘上的“Q”,一位切换如下:1010011?
我不是硬盘方面的专家,有点物理,但我猜操作系统或磁盘有校验和和其他东西来确保这不会发生。
是否有可能只切换一位,所以我的文件向我显示字母“Q”而不是“S”?
更新:我们做了进一步的分析。我们的从数据库从主数据库(PostgreSQL 功能)获取其 WAL 记录。无论如何:我们的从服务器应该是同步的。但是从站在这一特定行上并不同步。我们可以看到它发生在几天前,没有用户对这个特定条目进行任何交互。所以它必须有点翻转。害怕!
我有一个正在运行的 PostgreSQL 数据库。现在我想在我的数据库上自动执行一些操作,但是我的密码有问题。
我正在使用以下 bash 脚本:
#!/bin/bash
export PGPASSWORD="postgres"
sudo -u postgres psql -d pg_ldap -w --no-password -h localhost -p 5432 -t -c "SELECT id FROM radusers WHERE id=1"
Run Code Online (Sandbox Code Playgroud)
当我运行 bash 脚本时,出现以下错误:
psql: fe_sendauth: no password supplied
Run Code Online (Sandbox Code Playgroud)
我什至尝试在我的主目录中配置 .pgpass 文件,但无济于事:
*:*:*:postgres:postgres
Run Code Online (Sandbox Code Playgroud)
我已经运行了以下命令:
sudo chmod 0600 .pgpass
Run Code Online (Sandbox Code Playgroud)
然而,似乎任何方法都不起作用。有谁有想法吗?我是不是忘记做某事了?
从 Ubuntu 存储库安装的运行 PostgreSQL 8.4 的 Linux 服务器上的文件postgresql.conf和文件在哪里pg_hba.conf?
我正在开发一个最终可能拥有非常大数据库的网站。该网站将成为一个艺术社区,直到 deviantART。我将运行大量查询来分析网站的使用方式。我希望某些查询会杀死数据库,因为我不知道如何优化 SQL 查询(目前)。我从一个小型 linux VPS 开始,将来会转移到物理服务器。
在这种情况下,哪个数据库的扩展性最好?
我很好奇是否有人在文件系统和数据库性能之间做过任何实验或比较。在 Linux 上,我想知道 postgres 数据库的最佳文件系统是什么。此外,哪些设置(inode 等)最适合它?根据数据库中的数据,这可能会大不相同吗?
如果您正在寻找有关一般文件系统/数据库性能的问题,这篇文章有一些很好的信息。
但是,我想获得尽可能多的关于插入性能而不是读取性能的建议。感谢所有伟大的答案!
我知道默认情况下 PostgreSQL 侦听端口 5432,但是实际确定 PostgreSQL 端口的命令是什么?
配置: Ubuntu 9.10 和 PostgreSQL 8.4
postgresql ×10
database ×2
linux ×2
ubuntu ×2
amazon-rds ×1
backup ×1
django ×1
filesystems ×1
hard-drive ×1
mysql ×1
performance ×1
port ×1
scaling ×1
ubuntu-12.04 ×1
ubuntu-9.10 ×1