标签: 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万
查看次数