Articles of postgresql

PgPool2替代Postgresql集群中的负载平衡

我正在使用PgBouncer进行连接池,在主从模式下使用本地psql复制,并使用PgPool2进行负载平衡。 经过几次(很多)试图让PgPool2打好,我放弃了。 对于许多不稳定的情况,请求被“卡住”,连接丢失,我尝试了所有可以pipe理的configuration,并且没有数量地读取文档,没有任何东西能够摆脱PgPool2在环境中引入的不稳定性。 我正在寻找替代品,我已经尝试HAProxy,但有围墙试图获得写查询主只。 有没有人知道另一个替代负载平衡psql在主从模式?

可以在postgres上检查运行时可用的内核吗?

TL; DR:无论如何要查询一个postgres实例有多less核心可供处理? Postgres在跨多个可用内核高效并行化多个查询方面拥有良好的声誉。 我正在编写一个具有CPU密集型数据转换pipe道的应用程序,由postgres在大量的源数据集合上执行。 每个pipe道将是单个连接的工作,我希望通过build立多个连接并执行工作(发生在单连接范围内的临时表中)来利用并行性。 我想调整与数据库维护多less个并发连接。 我的意图是在可用的内核上使用乘法器,比如1.5倍,这样不会让等待连接的数据库pipe理系统陷入困境,但仍然可以确保它始终有工作要做。 但是,DBMS将是由用户select的AWS RDS实例。 我不知道有多less核心可用。 有无论如何查询数据库找出? 非常感谢。

Gitlab – Postgresql在g​​itlabctl-reconfigure之后不再工作了

我刚安装了一个全新的Gitlab服务器。 我第一次做gitlab-ctl重新configuration它就像一个魅力。 之后,我没有改变任何东西,但再次运行gitlab-ctl reconfigure。 这是问题开始的地方,我看到很多连接到pgsql的失败尝试。 [execute] psql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/var/opt/gitlab/postgresql/.s.PGSQL.5432"? 所以我尝试了gitlab-ctl stop和gitlab-ctl start,这说明它启动了postgresql。 ok: run: postgresql: (pid 11766) 0s 我该如何解决这个问题? 我最终得到了一个502错误…“哎呀,GitLab花了太多的时间来回应。 问候, 我迷路了,这是一个只有gitlab和nagios,munin,rsync的jessie。

Dovecot / Postfix邮件服务器SASL:连接到私人/授权失败

试图得到这封邮件已经吃了大量的2天,我已经取得了一些进展,但这个具体的错误始终贯穿始终。 我使用的是Postfix + Dovecot + Postgres的Debian服务器。 如果我尝试从我的Gmail帐户发送电子邮件到服务器上的电子邮件帐户,以下错误将logging在/var/log/mail.log Jun 5 10:57:32 6r6n-6vh7 postfix/smtpd[748]: connect from mail-oi0-f45.google.com[209.85.218.45] Jun 5 10:57:32 6r6n-6vh7 postfix/smtpd[748]: warning: SASL: Connect to private/auth failed: Connection refused Jun 5 10:57:32 6r6n-6vh7 postfix/smtpd[748]: fatal: no SASL authentication mechanisms Jun 5 10:57:33 6r6n-6vh7 postfix/master[32593]: warning: process /usr/lib/postfix/smtpd pid 748 exit status 1 Jun 5 10:57:33 6r6n-6vh7 […]

用bash和psql平行postgres查询?

我试图运行一系列postgres函数/存储过程并行使用bash + psql在单独的表上运行,如下所示: psql -d samples_20160612_0616 -c "select insert_function('2016-6-14 20:00'::timestamp, '2016-6-14 21:00'::timestamp)" & psql -d samples_20160612_0616 -c "select insert_function('2016-6-15 19:00'::timestamp, '2016-6-15 20:00'::timestamp)" & psql -d samples_20160612_0616 -c "select insert_function('2016-6-15 20:00'::timestamp, '2016-6-15 21:00'::timestamp)" & psql -d samples_20160612_0616 -c "select insert_function('2016-6-16 19:00'::timestamp, '2016-6-16 20:00'::timestamp)" & psql -d samples_20160612_0616 -c "select insert_function('2016-6-16 20:00'::timestamp, '2016-6-16 21:00'::timestamp)" 出于某种原因,似乎并不像预期的那样并行运行,这些语句是连续运行的。 我在这里做错了什么? 不应该这样并行吗?

为什么在Server 2008中更改PostgreSQL 9.5的数据目录会导致“目录不存在”?

我试图将PostgreSQL 9.5数据库迁移到Windows 2008 Server上的更大磁盘E. 在停止服务之后,我最初尝试将data文件夹复制到新磁盘,然后使用更改PostgreSQL服务的可执行path sc config postgresql-x64-9.5 binPath= "\"C:\Program Files\PostgreSQL\9.5\bin\pg_ctl.exe\" runservice -N \"postgresql-x64-9.5\" -D \"E:\pg_db\data\" -w" 我通过右键单击该文件夹并转到“ Properties ”,更改了data文件夹的权限以包含“networking服务”。 在Security标签下点击“ Edit… ”,然后“ Add… ”。 键入“ Network Service ”,然后单击“ Check Names ”,然后OK 。 但是,当我按下服务启动时,Windows事件查看器下面显示以下错误信息: FATAL: data directory "E:/pg_db/data" does not exist. 我什至试图从pipe理员cmd提示符使用说明在这里创build一个新的数据目录,但最终得到了同样的错误。 当我写这篇文章的时候,我看到“类似问题” 的答案之一是“在安装过程中重新安装Postgre并select数据文件夹更容易”。 这不可能是我们能做的最好的事情。

Python的psycopg2可以使用受密码保护的客户端证书和密钥吗?

当使用psycopg2库连接到需要客户端身份validation的Postgres服务器时,我看到了连接string, import psycopg2 c = psycopg2.connect("host=myhost dbname=mydb sslmode=verify-full sslcert=/root/.postgresql/aa/postgresql.crt sslkey=/root/.postgresql/aa/postgresql.key") psycopg2能处理密码encryption密钥文件吗? 如果postgresql.key受密码保护,会发生什么情况? connect()是否提示input密码来解开密钥? 可以在连接string中提供密钥文件的密码吗? 谢谢

Postgres在Windows上停止

我有一个在Windows 7上运行的Postgres 9.2作为服务。 每天数据库似乎停止,有时它开始单独运行,有时我需要重新启动服务。 没有太多的日志信息,我没有安装在这台电脑上的防病毒,防火墙。 我试图改善日志信息,但没有多大帮助。 我无法在Internet上find同样的问题,或者在serverfault上找不到这个问题。 有一些日志信息: 2016-09-08 06:25:27 BRT [unknown] LOG:XX000:无法接收数据 from client: unrecognized winsock error 10061 2016-09-08 06:25:27 BRT [unknown] LOCATION: pq_recvbuf, src\backend\libpq\pqcomm.c:831 2016-09-08 06:25:27 BRT [unknown] LOG: XX000: could not receive data from client: unrecognized winsock error 10061 2016-09-08 06:25:27 BRT [unknown] LOCATION: pq_recvbuf, src\backend\libpq\pqcomm.c:831 2016-09-08 06:55:39 BRT [unknown] LOG: XX000: […]

tcp / ip连接错误

我们有一个128GB主内存的web服务器,在Ubuntu 16.04上有32个vCPU。 它运行nginx,php-fpm,postgresql,mysql和beanstalkd应用程序。 当networking服务器获得高吞吐量stream量时,networking服务器会给出来自不同应用程序的连接错 在平时,一切都好。 PostgreSQL的: [PDOException] SQLSTATE[08006] [7] could not connect to server: Connection timed out Is the server running on host "127.0.0.1" and accepting TCP/IP connections on port 5432? MySQL的: [PDOException] SQLSTATE[HY000] [2002] Connection timed out Beanstalkd: fwrite(): send of 8192 bytes failed with errno=32 Broken pipe 服务器(sysctl.conf可能)的哪些设置会影响这些限制? 我怎样才能增加这些限制,以避免错误?

postgresql无效命令\

当试图将.out文件导入到postgres数据库时,我得到了很多(千)行:psql:G:/Backup/main_db_backup.out:251875:invalid command \ 使用不同的数字,其中“251875”是每行 这是否意味着恢复不起作用? 有没有人遇到过这个? 在恢复过程中,我找不到有关此消息的任何内容 谢谢你的任何帮助!