标签: postgresql

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

任何适用于 linux 的好的 PostgreSQL 客户端?

stackoverflow 指出我“属于服务器故障”,所以交叉发布。

我对 PostgreSQL 没有一个好的 Linux GUI 管理和开发工具感到沮丧。

与仅限 Windows 的 PostgreSQL Maestro 和 EMS PostgreSQL 管理器相比,pgAdmin III 是有缺陷且无法使用的……嗯,软件。

phpPgaAmin 看起来并不乐观。

EMS PostgreSQL 管理器可以在 Wine 下工作,但这样的设置有很多问题。

要求是:

  1. 大表(1M+)的表数据编辑和浏览,可以FK跳转或一些主从编辑,GUI过滤等。
  2. 带有就地模式编辑的 ER 图
  3. 使用所有有用的 GUI 支持进行模式编辑和浏览
  4. 要放入数据库版本控制(迁移脚本)的架构更改日志。
  5. 选项卡式界面能够同时处理多个表和 SQL 查询。

等等。

有任何想法吗?

postgresql linux database-administration graphical-user-interface

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

psql:致命:无法写入初始化文件

正如标题所指出的,当我尝试使用 PostgreSQL 从命令行连接到 PostgreSql 数据库时出现此错误。

客户端机器是 Ubuntu 11.10 x86_64 并且 PostgreSQL 库来自版本 9.1

服务器是 PostgreSql 8.3。

这是我执行的命令:

psql -U postgres -d my_database -h 192.168.0.161 -p 5432 -c "select * from xxyy"
Run Code Online (Sandbox Code Playgroud)

当我使用sudoor时,我得到了相同的结果su postgres。

可悲的是,我可以毫无问题地使用pgAdmin.

任何提示?

postgresql ubuntu

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

如何设置 shmall、shmmax、shmmin 等...一般和 postgresql

我已经使用PostgreSQL的文档来设置它,例如这个配置:

>>> cat /proc/meminfo 
MemTotal:       16345480 kB
MemFree:         1770128 kB
Buffers:          382184 kB
Cached:         10432632 kB
SwapCached:            0 kB
Active:          9228324 kB
Inactive:        4621264 kB
Active(anon):    7019996 kB
Inactive(anon):   548528 kB
Active(file):    2208328 kB
Inactive(file):  4072736 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:              3432 kB
Writeback:             0 kB
AnonPages:       3034588 kB
Mapped:          4243720 kB
Shmem:           4533752 kB
Slab:             481728 kB
SReclaimable:     440712 kB
SUnreclaim:        41016 kB
KernelStack:        1776 kB …
Run Code Online (Sandbox Code Playgroud)

postgresql linux performance kernel shmmax

12
推荐指数
1
解决办法
9万
查看次数

如何检查我的数据库是否需要更多 RAM?

您将如何检查您的 postgresql 数据库实例是否需要更多 RAM 内存来处理其当前工作数据?

postgresql performance memory database

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

不使用root密码通过命令行连接MySQL?

我正在为某些任务构建 Bash 脚本。其中一项任务是从同一个 bash 脚本中创建一个 MySQL 数据库。我现在正在做的是创建两个变量:一个用于存储用户名,另一个用于存储密码。这是我的脚本的相关部分:

MYSQL_USER=root
MYSQL_PASS=mypass_goes_here

touch /tmp/$PROY.sql && echo "CREATE DATABASE $DB_NAME;" > /tmp/script.sql
mysql --user=$MYSQL_USER --password="$MYSQL_PASS" < /tmp/script.sql
rm -rf /tmp/script.sql
Run Code Online (Sandbox Code Playgroud)

但是总是收到一个错误,说没有密码的用户 root 访问被拒绝,我做错了什么?我需要为 PostgreSQL 做同样的事情。

mysql postgresql linux bash shell-scripting

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

Postgres 插入错误:架构公共权限被拒绝

在 Postgres 中,我在名为 的数据库中创建了下表testing:

CREATE TABLE category_google_taxonomy (
    category_id integer references category ON UPDATE CASCADE ON DELETE CASCADE,
    google_taxonomy_id integer references google_taxonomy ON UPDATE CASCADE ON DELETE     CASCADE
);
Run Code Online (Sandbox Code Playgroud)

当我尝试填充表格时:

INSERT INTO category_google_taxonomy (category_id, google_taxonomy_id) VALUES
(1,7),
(2,12);
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

ERROR:  permission denied for schema public
LINE 1: SELECT 1 FROM ONLY "public"."category" x WHERE "category_id"...
                       ^
QUERY:  SELECT 1 FROM ONLY "public"."category" x WHERE "category_id" OPERATOR(pg_catalog.=) $1 FOR SHARE OF x
Run Code Online (Sandbox Code Playgroud)

我读了一点,最终ALL PRIVILEGES出于愤怒而同意,但它仍然不起作用:

testing=# GRANT ALL …
Run Code Online (Sandbox Code Playgroud)

postgresql sql

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

为什么用户无法登录 Postgres

我试图在 Postgres 中设置只读用户,但他们无法登录。我不确定下一步要采取什么措施来解决这个问题。

当我尝试以用户 XXXX 登录时,出现错误 - psql: FATAL: password authentication failed for user "XXXX"

查看日志文件,我看到以下几行:

< 2014-05-20 10:22:24.830 NZST >FATAL:  password authentication failed for user "XXXX"
< 2014-05-20 10:22:24.830 NZST >DETAIL:  Connection matched pg_hba.conf line 104: "host DATABASENAME        XXXX           10.0.0.0/8              md5"
Run Code Online (Sandbox Code Playgroud)

当然,我已经尝试重置密码 - 多次,但无济于事。我试过从 md5 更改为密码,但没有用。有趣的是,将身份验证机制设置为“信任”确实有效。

我正在使用 Postgres 9.3。

我无法删除此用户来重置它 - 我收到错误消息“错误:无法删除角色“XXXX”,因为某些对象依赖于它详细信息:数据库 DATABASENAME 的权限”

如果我创建一个新用户,该新用户连接到数据库就没有问题。(我在 pg_hba.conf 中复制了相应的行并修改了用户名)

发出命令“将 DBNAME 上的所有内容授予 XXXX”似乎没有任何区别。

当我执行 \ddp 命令时,我得到

    Default access privileges
  Owner   | Schema |   Type   | Access privileges 
----------+--------+----------+-------------------
 postgres | public …
Run Code Online (Sandbox Code Playgroud)

postgresql postgresql-9.3

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