Questions tagged «postgresql»

PostgreSQL是一个功能强大的开源对象关系数据库系统。它拥有超过15年的积极开发经验和成熟的架构,在可靠性,数据完整性和正确性方面赢得了极高的声誉。它可以在所有主要操作系统上运行,包括Linux,UNIX(AIX,BSD,HP-UX,SGI IRIX,Mac OS X,Solaris,Tru64)和Windows。

1
Munin Postgres插件:未找到DBD :: Pg
我正在尝试为Munin激活一些Postgresql插件。运行时,munin-node-configure --suggest | grep postgres我得到以下输出: postgres_bgwriter | no | no [DBD::Pg not found, and cannot do psql yet] postgres_cache_ | no | no [DBD::Pg not found, and cannot do psql yet] postgres_checkpoints | no | no [DBD::Pg not found, and cannot do psql yet] postgres_connections_ | no | no [DBD::Pg …

2
无法在ubuntu软件包上安装postgres
我正在使用Ruby和Postgres设置VPS。在我的本地机器上,我安装了postgresql 9.2.3(客户端和服务器),因此想在我的VPS上安装它。按照此博客文章的说明http://hendrelouw73.wordpress.com/2012/11/14/how-to-install-postgresql-9-1-on-ubuntu-12-10-linux/在ubuntu上安装postgres (唯一的区别是我尝试安装9.2.3。他安装了9.1),我做了以下工作 sudo apt-get install postgresql-9.2.3 Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package postgresql-9.2.3 E: Couldn't find any package by regex 'postgresql-9.2.3' 但是,如您所见,它找不到包postgresql-9.2.3。但是,我已经在本地计算机上安装了该软件包(我使用Homebrew在Mac上安装了该软件包)。 您能帮助我了解我在做什么错吗? 更新我还尝试安装它,最后没有显示“ 3”,就像您在下面看到的那样,但是您无法看到它的工作。 sudo apt-get install postgresql-9.2 Reading package lists... Done Building dependency tree Reading state information... …

3
postgres stats收集器进程生成的I / O过多
我将XenServer与具有本地postgres数据库的多个虚拟机一起使用。即使所有应用程序都未使用且数据库处于空闲状态,每个vm也会导致持续的存储网络流量,从而降低iscsi存储设备的性能。 运行后,iotop我注意到postgres stats收集器处理过程不断以大约2 MByte / s的速度写入磁盘。 然后,我通过编辑禁止收集统计信息/etc/postgresql/8.4/main/postgresql.conf: #------------------------------------------------------------------------------ # RUNTIME STATISTICS #------------------------------------------------------------------------------ # - Query/Index Statistics Collector - track_activities = off track_counts = off ... 如http://www.postgresql.org/docs/8.4/static/runtime-config-statistics.htm中的建议。 这消除了连续写入,但是关闭统计信息跟踪是否有任何缺点? 还是应该将pg_stat_tmp目录放置在ramdisk上,以避免磁盘/网络流量? 该系统是最新的Debian 6.0.7(压缩版),具有postgres 8.4和约20个数据库(约50个表),总转储文件大小小于100 MB。

4
PostgreSQL最多可扩展至64个内核?
在《计算机世界》的这篇文章中,它指定PostgreSQL最多可以扩展到64个内核。这是否意味着一个64核的多核处理器?还是拥有更少内核的多个处理器? 我之所以这样问,是因为我试图找到PostgreSQL可以扩展到多少处理器,但是当然可能仅限于处理器类型。但是,我一直在其他数据库中找到其他统计信息(例如,Microsoft SQL Server 在这里说明它可以扩展到320个逻辑处理器),并且它们没有指定其内核数。这是一个非常模糊的统计吗? 任何想法将不胜感激。谢谢!

5
无法登录phpPgAdmin
我正在尝试在测试机上设置phpPgAdmin,以便可以与PostgreSQL进行交互,而不必始终使用psqlCLI。我通过RPM信息库安装了PostgreSQL 9.1,而我则“手动”安装了phpPgAdmin 5.0.4(通过从phpPgAdmin网站提取档案)。作为记录,我的主机操作系统是CentOS 6.2。 我已经进行了以下配置更改: PostgreSQL的 在内部pg_hba.conf,我将所有METHODs 更改为md5。 我给了postgres帐户一个密码 我用密码添加了一个名为webuser的新帐户(请注意,我对该帐户没有做任何其他事情,因此我不能确切地说我知道它拥有什么权限以及所有权限)。 phpPgAdmin config.inc.php 将行更改$conf['servers'][0]['host'] = '';为$conf['servers'][0]['host'] = '127.0.0.1';(我也尝试使用localhost作为那里的值)。 设置$conf['extra_login_security']到false。 每当我尝试登录phpPgAdmin时,即使使用成功的凭据(可使用的凭据),也会出现“登录失败”的提示psql。我试图通过FAQ中问题3中提到的一些步骤进行操作,但到目前为止,效果并不理想。这可能是没有帮助的,因为这是我使用PostgreSQL的第一天。我对MySQL非常熟悉,但是我必须对正在使用的项目使用PostgreSQL。 谁能为在CentOS 6.2上设置phpPgAdmin提供一些帮助吗?如果到目前为止,我在配置中所做的事情都非常错误,那么吹牛什么/什么都没什么大不了的,因为这还不像我在其中存储任何数据一样! 感谢您提供的任何见解!

1
如何在Puppet中对服务使用自定义状态命令?
我在反向移植中使用PostgreSQL 9.1和debian squeeze。Puppet的版本为2.7.14。不幸的是,初始化脚本返回了错误的状态退出代码。因此,我编写了一个自定义status命令来检测postgresql是否正在运行。 service { 'postgresql': ensure => running, enable => true, hasstatus => false, hasrestart => true, status => "pg_lsclusters -h | awk 'BEGIN {rc=0} {if ($4 != \"online\") rc=3} END { exit rc }'", provider => debian, } 我的命令像个魔术师一样工作,但是木偶似乎有问题。notice: /Stage[main]/Postgresql/Service[postgresql]/ensure: ensure changed 'stopped' to 'running'尽管它已经在运行,但我总是能得到。 因此尝试了以下方法: service { …

2
无法连接到Vagrant Box上的Postgres-连接被拒绝?
首先,我是Vagrant和Postgres的新手。 我使用http://files.vagrantup.com/lucid32.box创建了Vagrant实例,没有任何麻烦。我能够运行vagrant up,vagrant ssh没有问题。 我按照说明进行了一个较小的更改,我安装了“ postgresql-8.4-postgis”软件包,而不是“ postgresql postgresql-contrib”。 我使用以下命令启动服务器: postgres@lucid32:/home/vagrant$ /etc/init.d/postgresql-8.4 start 在连接到无所事事的实例时,我可以用来psql无问题地连接到该实例。 在我的Vagrantfile中,我已经添加了: config.vm.forward_port 5432, 5432 但是当我尝试从本地主机运行psql时,我得到了: psql: could not connect to server: Connection refused Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"? 我确定我缺少一些简单的东西。有任何想法吗? 更新: 我找到了对此类问题的参考,并建议使用以下文章: psql -U postgres -h localhost 这样我得到: psql: server …

3
Centos 5.5上使用简单PostgreSQL 8.4.4查询的IO极慢
我看到的奇怪且极其缓慢的IO模式是(输出iostat -dxk 1 /dev/xvdb1): Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util xvdb1 0.00 0.00 0.99 0.99 7.92 3.96 12.00 1.96 2206.00 502.00 99.41 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util xvdb1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00 0.00 …

1
删除很多行后,我是否需要重新索引和抽真空表?
我正在运行一个PostgreSQL数据库,该数据库具有几个存储日志信息的表。此信息仅用于报告目的,如果超过30天,则将其转储到文件中并从数据库中删除。 可能有数百万行被删除,并且删除后每次都运行REINDEX。 这是否足够,还是我们还应该运行VACUUM或VACUUM ANALYZE?还是不需要REINDEX,而我们应该只运行VACUUM或VACUUM ANALYZE? 我们正在使用PostgreSQL 8.2.3,我相信它不允许自动抽真空。

4
在mysql命令行程序中修复Control-C?
在mysql命令行中,按Control-C将取消程序,并使您返回bash。在中psql,用于postgres的它将终止当前查询,并且不会停止psql程序。有什么办法可以Control-C在mysql程序中获得psql样式的行为?我一直发现自己Control-C习惯养成压力,不得不重新登录mysql。 Control C不会杀死bash,并在您按下它时将您注销。我认为这是一件好事。Control-C表示“停止您正在做的事情”。

1
如何使用Chef确保服务正在运行?
我处在Chef可能启动服务(postgres)但后来可能带外停止的情况。我希望随后的Chef运行以使服务运行。我已经试过了: service "postgresql" do action :start end 但这没什么效果,(up to date)大概是因为Chef知道它已经启动并且无法告诉它已经停止了。(可能是由于service ... status该服务的行为方式?)如果我这样写: # anti-pattern warning! execute "force-start-postgresql" do command "service postgresql start || /etc/init.d/postgresql start" action :run end 我得到了期望的行为。也action :restart使其运行。但是,由于可移植性,它们看起来像是反模式(在后一种情况下,有可能在再次启动之前将其停止)。 那么,即使我认为该服务已经在运行,我如何告诉Chef强行启动该服务呢? 这使用的是由OpsCode托管的Chef 11.6,以及默认的postgresql配方。(请注意,这是相似的,但我认为与如何在Chef中对“最新”资源强制执行操作并不完全相同。) --- 编辑(jtimberland发布后的说明)--- 在-l debug这里显示: DEBUG: service[postgresql] supports status, running DEBUG: service[postgresql] is running 即使它没有运行。所以这听起来像是一个错误,我对此很感兴趣。但是,我主要对是否有一种方法告诉Chef“总是调用服务启动命令,跳过状态检查”感兴趣。这就是这里的问题。 (我不是专家,但我想,以确保服务的最简便的方式在运行时启动该服务,这就是几乎总是幂等。OTOH 检查服务是否正在运行是不太一致,我不明白为什么我们要关心!)


4
phpPgAdmin导出空的SQL转储?
我正在尝试从phpPgAdmin导出PostgreSQL数据库,由于某种原因,它正在转储空的SQL文件。 该数据库绝对不是空的。 要导出它,我单击数据库,然后导出,然后选择结构和数据。 知道为什么会这样吗?谢谢
10 postgresql 

1
使普通用户可以在PostgreSQL上创建模式有什么要求?
我创建了一个新数据库,test并使用以下命令创建了用户“ eonil”: CREATE ROLE eonil LOGIN ENCRYPTED PASSWORD 'password' NOINHERIT VALID UNTIL 'infinity'; 在我的PostgreSQL上。我跑psql -U eonil test。当我尝试制作一个新的架构时,它显示了一个错误。 test=> CREATE SCHEMA new_schema AUTHORIZATION eonil; ERROR: permission denied for database test test=> 为什么会出错?需要什么?

1
使用ZFS头节点作为数据库服务器?
我正在使用基于Zex支持的双头NAS进行高可用性群集共享存储,基于Nexenta的推荐体系结构,如下所示: 1个JBOD中的磁盘将存储单个4 TB Postgres数据库的数据库文件,另一个JBOD中的磁盘将存储20 TB的大型原始二进制平面文件(大型恒星对象碰撞模拟的集群结果)。换句话说,支持Postgres文件的JBOD将主要处理随机工作量,而支持模拟结果的JBOD将主要处理串行工作量。两个头节点均具有256 GB的内存和16个内核。集群有大约200个核心,每个核心维护一个Postgres会话,因此我希望有大约200个并发会话。 我想知道在我的设置中让ZFS头节点同时充当集群的Postgres数据库服务器镜像对是否明智?我唯一看到的缺点是: 扩展我的基础架构的灵活性较低。 冗余级别略低。 Postgres的内存和CPU资源有限。 但是,我看到的好处是ZFS对于自动故障转移还是很愚蠢的,而且我不必花费很多工作就可以使每个Postgres数据库服务器确定头节点是否发生故障,因为它会与头节点一起发生故障节点。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.