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