Articles of postgresql

postgresql跟踪计数和autovacuum不起作用

在启动日志条目指示autovacuum不工作。 我查询了pg_stat_user_tables表,last_vacuum和last_autovacuum列是空的,尽pipe我之前运行的是真空查询。 将pgadmin连接到数据库会提示真空不起作用。 我在两个Ubuntu Azure虚拟机上使用postgresql。 一台虚拟机设置为主设备,另一台虚拟机通过stream式传输方式复制数据库。 粗略地描述在https://www.digitalocean.com/community/tutorials/how-to-set-up-master-slave-replication-on-postgresql-on-an-ubuntu-12-04-vps 。 除了自动清理,似乎所有的工作都是如此。 在启动过程中logging以下错误: LOG: test message did not get through on socket for statistics collector LOG: disabling statistics collector for lack of working socket WARNING: autovacuum not started because of misconfiguration HINT: Enable the "track_counts" option. LOG: database system was shut down at 2017-01-19 14:07:13 UTC DEBUG: checkpoint […]

在PostgreSQL中启用ident和md5validation

在Fedora 12上,我为自己设置了一个testing数据库,默认情况下pg_hba.conf包含以下内容: # TYPE DATABASE USER CIDR-ADDRESS METHOD # "local" is for Unix domain socket connections only local all all ident # IPv4 local connections: host all all 127.0.0.1/32 ident # IPv6 local connections: host all all ::1/128 ident 我想启用md5login,所以名为“foo”的PostgreSQL用户可以访问名为“foo”的数据库。 但是,当我添加此行并重新启动postgres时: local foo foo md5 使用我的常规用户帐户运行psql -U'foo'仍然会产生以下消息: psql: FATAL: Ident authentication failed for user "foo" […]

PostgreSQLencryption备份

是否可以确保从PostgreSQL数据库采取的转储总是encryption? 数据库中的数据是高度敏感的,我们不能负担包括需要备份数据库的系统pipe理员在内的未授权人员访问实际数据。

Postgres运行非常缓慢

嗨,谢谢你的阅读。 我正在分布式系统上工作,有8个集群,每个集群都有一个Postgres实例。 但是,其中一个Postgres实例与其他实例写入数据的速度相当缓慢。 所有的电脑运行相同的Ubuntu版本,具有相同的规格和相同的Postgres版本安装。 这是我做的: 执行一些Java代码,并通过JDBC连接将创build的数据写入数据库。 全部发生在一个Java实例中。 确切的数据不尽相同,但规模相同。 对于慢集群,我有以下执行时间(以秒为单位): Create Data with Java WriteData 92 11055 对于其他集群我有更多这样的事情: Create Data with Java WriteData 95 266 我已经检查过表空间是否有足够的磁盘空间,并且完全重新安装了Postgres实例,但是没有进一步的了解问题是什么。 感谢您的任何build议,我可以find潜在的问题! 更新: 一些性能参数: diskSlow: sudo hdparm -t /dev/sda6 /dev/sda6: Timing buffered disk reads: 76 MB in 3.05 seconds = 24.92 MB/sec diskOther: sudo hdparm -t /dev/sda6 /dev/sda6: Timing buffered disk […]

什么监控解决scheme的服务器,数据库和Web应用程序 Nagios或Hyperic?

对于初创公司来说,我有一台物理专用服务器的贷款,里面有几台虚拟机 目前在这个服务器上主要有2个虚拟机: VM“工具”,使用Ubuntu 10.04 LTS 一个使用mercurial和hgserve的源码库 JAVA应用程序的阿特拉斯为错误跟踪,维基… PostgreSQL作为工具的数据库 Apache HTTPD作为HTTPS前端。 虚拟机“星号”,使用Ubuntu的服务器10.04 LTS 与星号服务器,functionnal,但更多的testing,现在比任何东西。 但是将来我们将会有一个“生产”虚拟机与JAVA应用程序 : Apache HTTPD前端 PostgreSQL数据库 Tomcat的webapp(也许是cluterised) 我感兴趣的是一个软件,可以监视服务的可用性,KVM虚拟机,应用程序和数据库,所以我可以在出现问题的情况下作出反应。 我还有另一个用例,我想监视应用程序的性能(请求,CPU,内存…)并收集使用情况统计信息。 我们基本上没有钱,至less在一开始就想要一个免费的工具。 这个工作简单而简单的工具是什么? 我听说过Nagios和Hyperic,但我不认识他们。 所以我不知道他们是否适合我们的需求。 编辑: 这不仅需要服务器监控,还要考察实际应用程序的性能,响应能力以及可能的隔离瓶颈。 从链接(不是相同的问题,似乎更通用但内容丰富)和实际回应,Nagios + Munin应该是一个很好的select。 问题是Nagios看起来有点复杂(我不知道穆宁)。 Nagios / Munin组合将能够收集Java应用程序的详细统计数据和历史数据(请求/秒数,请求延迟,统计数据由URL,小时,星期,星期…?) 还有其他(更好?)替代品吗?

Postgresql的多重身份validation方法

我目前使用“md5”身份validation从lan访问: host all all 192.168.1.0/24 md5 我想添加ldapauthentication方法,所以我在之前添加了这一行: host all all 192.168.1.0/24 ldap "ldap://192.168.1.2/basedn;uid=;,cn=xx,dc=yy,dc=zz,dc=ca" 这项工作与ldap帐户很好,但如果我尝试用LDAP服务器上不存在的帐户login,login失败(postgresql不尝试md5身份validation)。 有一种方法来支持postgresql的多个身份validation方法?

无法安装libpq-dev,ubuntu 10.10和postgres 9

我需要一些包含在libpq-dev中的postgres 9开发版的头文件来安装pg gem,但是当我执行: sudo apt-get install libpq-dev 我得到的结果是: 以下软件包具有未满足的依赖关系:libpq-dev:取决于:libpq5(= 8.4.7-0ubuntu0.10.10),但要安装9.0.1-1〜lucid 当我试图删除libpq5 (重新安装正确?),它威胁要删除postgresql-9.0: 以下软件包将被删除:libpq5 pgadmin3 php5-pgsql postgresql-9.0 postgresql-client-9.0 有谁知道如何解决这个问题? 谢谢。

RHEL SELinux阻止Apache访问PostgreSQL

我正在运行使用PostgreSQL的Django应用程序。 服务器正在使用SELinux运行RHEL 6.5。 我遇到了Django应用程序无法连接到数据库的问题,我想这是因为SELinux阻止了它。 这是我在Django中看到的错误: could not connect to server: Permission denied Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"? 我怎样才能解决这个问题? 我遇到这个post ,但我不知道如何应用解决scheme( chcon -t postgresql_exec_t /path/to/pgbouncer )到我的问题。 谢谢! [编辑] 当我尝试访问网站时,以下是/var/log/audit/audit.log样子: type=AVC msg=audit(1396289984.549:9245): avc: denied { write } for pid=16975 comm="httpd" name=".s.PGSQL.5432" dev=sda1 ino=2359354 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:tmp_t:s0 tclass=sock_file type=SYSCALL msg=audit(1396289984.549:9245): arch=c000003e […]

数据库全真空,集群,分析 – 以哪个顺序?

我有一个庞大的(〜150 GB的)postgresql数据库,在过去的几个星期里,它的性能下降了。 为了提高性能,我打算执行完整的真空 , 集群和分析 。 我应该以何种顺序执行这些操作? 我不介意执行的时间,只是数据库的性能改进。 谢谢, 乌迪

从转储恢复Postgresql数据库失败

我有一个来自Postgresql数据库的转储文件。 但是,如果我在Windows下运行psql -U用户<db.sql,我就会得到 ERROR: missing data for column "x" 对于某些行。 事情是,“x”的数据不会丢失。 我猜在“x”之前的列中有一些字符会以某种方式破坏导入,但我不知道它会是什么。 有任何想法吗? Postgre版本是8.3.7 编辑:如果恢复过程可以在遇到该行后正常继续,可以省略违规行。 编辑2:它出现罪魁祸首是转储中的Ctrl-Z字符(ascii 26),它们被解释为窗口(?)下的文件结束。