我的操作系统是RHEL5。 我想要将由以下数据库命令生成的控制台输出指向日志/文件。 psql mydb mydbuser -c "VACUUM ANALYZE VERBOSE" 我试过下面的命令,并没有按预期工作。 但它是打印输出到terminal控制台。 psql mydb mydbuser -c "VACUUM ANALYZE VERBOSE" > vacuum.log psql mydb mydbuser -c "VACUUM ANALYZE VERBOSE" | tee vacuum.log 在这种情况下,这个命令产生的输出不是标准的input/输出/错误吗? 注: psql是PostgreSQL的基于terminal的前端。 它使您能够以交互方式键入查询,将其发送到PostgreSQL,并查看查询结果。
我正在运行Gentoo。 我从Postgresql 8.2.7升级到9.0.1。 升级过程中的某个地方,旧的Postgresql没有取得插槽,所以没有了。 旧版本也从portage中删除,所以我不能只是重新出现它。 我有我的数据库的Postgresql数据目录,但它是没用的,因为Postgresql 9.0.1由于版本不匹配而拒绝运行它。 我已经尝试了很多解决scheme,但一直无法解决这个问题。 我怎样才能得到我的旧8.2.7数据目录中的数据库与Postgresql 9.0.1?
我试图在CentOS 5.5服务器上安装Roundcube,并使用PostgreSQL 8.1.22数据库。 安装程序脚本的第一页,检查是否存在php库等,给了我全面的绿色OK。 我什至去安装可选的。 第二页为我生成了两个configuration文件(main.inc.php和db.inc.php)。 第三页是出错的地方: 检查数据库configurationDSN(写入):不正确(MDB2错误:连接失败) 确保configuration的数据库存在并且用户具有写权限 DSN:pgsql:// roundcube:password @ localhost / roundcubemail 您在那里看到的信息(用户roundcube,密码密码,服务器本地主机和数据库roundcubemail)都是正确的。 数据库roundcubemail属于用户的roundcube,它具有写入权限。 我不知道为什么它不能连接到该数据库。 我在同一个服务器上用phpPgAdmin来pipe理它,它运行在相同的Apache上。 更新 一些更多的信息:我的postgres日志文件有一堆这些: FATAL: no pg_hba.conf entry for host "127.0.0.1", user "roundcube", database "roundcubemail", SSL off 但是,我的pg_hba.conf文件有这样的: # "local" is for Unix domain socket connections only local all all trust host all all 127.0.0.1/32 trust 使用telnet连接到本地主机和端口5432上的127.0.0.1工作正常。
我目前正在运行大约15亿行/ 500 GB数据(包括指数)的PostgreSQL数据库。 对于(只读,不定期更改/更新)“核心模式”有几个模式:每个用户一个(约20人)。 用户可以访问核心并将数据存储在自己的模式中,因此一切都位于一个数据库中。 该服务器运行CentOS和PostgreSQL 8.4,用于科学研究,勘探等,运行良好。 现在,数据库存储硬盘的升级到来了 – 所有的性能都与旧的相同。 我正在寻找在这些磁盘上分发数据的最佳方式。 将经常使用的对象(核心数据)从用户模式中分离出来是可能的,但我不确定这是否值得。 将WAL文件(pg_xlog目录)移动到自己的分区似乎是一个更好的主意。 http://www.postgresql.org/docs/8.4/static/wal-internals.html 你有什么意见? 是否有任何表空间或分区相关的性能文档/基准?
我已经把数据库服务器上的swappiness设置为零,但是在大量的sorting操作中,即使caching仍然使用大量的内存,使用的交换空间也增加了,然后caching增加了,但是swap只剩下了。 这对我来说没有意义。 这里是free -m截至目前: total used free shared buffers cached Mem: 16000 15979 20 0 24 10520 -/+ buffers/cache: 5434 10565 Swap: 6111 5478 633 这发生在PostgreSQL中的大量sorting中。 问题是换出的内存可能会在sorting结束后立即被调用(这是对tmpfs表中的一个大的UPDATE ),导致了一个巨大的减速,因为它将是随机访问。
我已经习惯了debian / ubuntu发行版,现在尝试使用官方的Amazon AWS Linux AMI进行试验。 我已经安装了postgresql-server,postgresql-devel,postgresql-contrib yum包。 问题是我缺less像pg_lsclusters , pg_ctlcluster等命令 我应该安装什么其他软件包来获取这些命令。 还是只能在基于Debian的发行版上使用?
我想编译PostgreSQL,并需要为unix_socket_location设置一个默认值。 它应该是/var/run/postgresql而不是/tmp就像在默认的构buildconfiguration中一样。 实际上,我只是想为unix_socket_location参数设置一个默认值,但是我没有设置它的位置。 这是没有./configure option ,我不知道在哪里看,尽pipe文档说它可以在编译时间更改。 我在哪里设置unix_socket_location的默认值?
在PostgreSQL 9.0中,我可以configurationPostgreSQL不复制某个特定的数据库吗? 我有三个数据库,我只想复制两个。
我使用交互式psql在我们的一个数据库上运行reindex。 不幸的是,ssh连接在reindex仍在运行的时候掉线了,而我却愚蠢地把psql放到一个屏幕窗口内(我不知道要花多长时间!) 一旦我能够再次login到机器,我跑了 ps aux | grep REINDEX 和输出似乎表明,reindex仍在运行: postgres 6180 99.9 0.0 774960 4804 ? Rs Jun27 3022:02 postgres: postgres my_db_name [local] REINDEX postgres在这种情况下的预期行为是什么? 它会继续运行reindex完成? 另外,有什么方法可以重新连接到psql,我可以继续看到从reindex的进行中的输出?
我想用postgres 9.1的pg_basebackup工具创build一个Base Backup。 几秒钟后,我收到: “pg_basebackup:无法从服务器获取WAL结束位置 什么可能是这个错误信息的原因?