标签: postgresql

在同一台 Ubuntu 服务器上运行多个版本的 PostgreSQL

我在同一台服务器(Ubuntu Lucid)上运行 PostgreSQL 8.4 和 9.0。

我通过 apt-get 安装了它们(使用默认包源的 8.4 和从https://launchpad.net/~pitti/+archive/postgresql添加 ppa 后的 9.0 )。

当我从命令行运行“createdb”之类的命令或启动“psql”shell 时,我的系统默认使用 PostgreSQL 8.4 版。

那么,如何强制这些命令使用 PostgreSQL 9.0 而不是 8.4?

postgresql ubuntu

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

在 Postgres 中的单个 SQL 文件中调用多个 Sql 文件

如何在单个 sql 文件中调用多个 sql 文件,在 postgres 中

比如我有aaa.sql, bbb.sql, ccc.sql。

我想从 xxx.sql 执行这 3 个文件。

谁能建议我如何做到这一点。

postgresql

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

如何在bash脚本中设置postgresql用户密码

我想为默认的 Postgresql 服务器用户设置密码,postgres. 我是通过使用做到的:

sudo -u postgres psql
# \password postgres
Run Code Online (Sandbox Code Playgroud)

我想在多台机器上做这一步,所以我想创建一个bash脚本来做同样的事情。如何在 bash 中完成此操作?

postgresql password bash users shell-scripting

14
推荐指数
2
解决办法
3万
查看次数

Postgres - 无法创建任何 TCP/IP 套接字

我正在使用 postgresql 9.3 运行一个正在开发的 rails 应用程序。当我今天尝试启动乘客服务器时,我得到:

PG::ConnectionBad - could not connect to server: Connection refused
    Is the server running on host "localhost" (217.74.65.145) and accepting
    TCP/IP connections on port 5432?
Run Code Online (Sandbox Code Playgroud)

我觉得没什么大不了的,以前发生过。重启 postgres 总能解决问题。所以我跑了sudo service postgresql restart,得到:

 * Restarting PostgreSQL 9.3 database server
 * The PostgreSQL server failed to start. Please check the log output:
2014-06-11 10:32:41 CEST LOG:  could not bind IPv4 socket: Cannot assign requested address
2014-06-11 10:32:41 CEST HINT:  Is another postmaster already running on port …
Run Code Online (Sandbox Code Playgroud)

postgresql

14
推荐指数
1
解决办法
4万
查看次数

如何将安全组链接到我的 AWS RDS 实例

我在 RDS 上有一个 postgres db 设置。它运行良好。但是,我想将其链接到位于 ELB 后面的一组自动扩展的 EC2 实例,这些实例都驻留在单个EC2 security group.

有人告诉我,可以向使用我的 EC2 安全组作为源的 RDS 实例的安全组添加规​​则。当我转到控制台并编辑 RDS 安全组时,我只能在源列下看到以下选项:Anywhere, Custom IP, and My IP.

在列顶部的信息弹出窗口中,它说:(To specify a security group in another AWS account (EC2-Classic only), prefix it with the account ID and a forward slash, for example: 111122223333/OtherSecurityGroup.看起来它可能只适用于 EC2-Classic)

它不允许我在源下拉框中输入。

在 RDS 部分下,我注意到他们有option groups. 但是,与我的 postgres 实例关联的默认选项组不可编辑。

因此,我尝试创建一个新组。此时我发现 postgres 没有被列为可用的engine. 我选择 mysql 只是为了看看我是否可以添加选项。看起来我可以将安全组添加到 mysql 实例,但不能添加到 postgres 实例。

postgres 实例不支持此预期选项吗?

postgresql amazon-ec2 amazon-web-services rds

14
推荐指数
1
解决办法
4万
查看次数

如何为psql指定客户端证书?

我有一个 Postgres 服务器,它的用户dev需要一个客户端证书才能登录。我正在使用命令psql "sslmode=require user=dev host=db.prod",它给了我psql: FATAL: connection requires a valid client certificate.

我知道证书在我的服务器上的位置。我的问题是,如何将客户端证书位置指定为psql

postgresql psql ssl-certificate

14
推荐指数
2
解决办法
3万
查看次数

尽管有可用内存(缓存),但 OOM

尽管我们将近一半的内存用于 FS 缓存,但我们还是遇到了 OOM 杀手。我们每分钟记录一次内存统计信息(如 top 所报告的),但似乎有很多可用性。

...

Mem:  15339640k total, 15268304k used,    71336k free,     3152k buffers
Swap:        0k total,        0k used,        0k free,  6608384k cached

Mem:  15339640k total, 14855280k used,   484360k free,    13748k buffers
Swap:        0k total,        0k used,        0k free,  6481852k cached

[OOM killer: postgres killed]

Mem:  15339640k total,  8212200k used,  7127440k free,    32776k buffers
Swap:        0k total,        0k used,        0k free,  2394444k cached

...
Run Code Online (Sandbox Code Playgroud)

来自系统日志的 OOM 详细信息:

...
Jun 10 05:45:25 db kernel: [11209156.840462] wal-e invoked oom-killer: …
Run Code Online (Sandbox Code Playgroud)

postgresql oom

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

docker swarm 数据库连接由对等方重置

我正在使用 docker swarm 运行 Spring Boot 应用程序,并且我使用 postgres 作为数据库。当我将它们都作为 docker 服务运行时,数据库连接会持续且随机地失败(如您在时间戳上所见),如日志所示:

2017-10-26T 17:14:15 .200415747Z app-db.1.1ayo6h8ro1og@scw-c2964a | 日志:无法从客户端接收数据:对等方重置连接

2017-10-26T 17:43:36 .481718562Z app-db.1.1ayo6h8ro1og@scw-c2964a | 日志:无法从客户端接收数据:对等方重置连接

2017-10-26T 17:43:56 .954152654Z app-db.1.1ayo6h8ro1og@scw-c2964a | 日志:无法从客户端接收数据:对等方重置连接

2017-10-26T 17:44:17 .434171472Z app-db.1.1ayo6h8ro1og@scw-c2964a | 日志:无法从客户端接收数据:对等方重置连接

2017-10-26T 17:49:04 .154174253Z app-db.1.1ayo6h8ro1og@scw-c2964a | 日志:无法从客户端接收数据:对等方重置连接

我无法理解或发现这样做的原因。我很感激任何想法。

编辑:

我们意识到,在测试应用程序时,它也会抛出这样的错误:

SQLTransientConnectionException: HikariPool-1 - 连接不可用,请求在 937517 毫秒后超时

谢谢。

postgresql database docker docker-swarm

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

如何大规模备份 Gitlab?

当询问 Gitlab 支持如何在内部部署的 Gitlab 上进行 3TB 备份时,他们回答使用我们的工具来生成 tarball。

这在所有层面上对我来说都是错误的。这个 tarball 包含 postgres 转储、docker 图像、repo 数据、GIT LFS 等配置等等。将 TB 的静态数据与 KB 非常动态的数据一起备份是不正确的。然后是问题,我们想每小时做一次备份。

我真的很想从其他人那里知道他们是如何做到的,以获得一致的备份。

Linux 上的 ZFS 对我来说没问题,如果这是解决方案的一部分。

postgresql linux backup zfs gitlab

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

Postgresql 13 - 将 pg_dump 速度从 70 分钟加快到 5 分钟

我们每晚使用 pg_dump 来制作数据库的快照。我们用一个简单的命令就做了很长时间

pg_dump -Fc database_name

这大约需要一个小时,并生成一个 30+GByte 的文件。

我们怎样才能加快速度?

postgresql pg-dump

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