Articles of postgresql

PostgreSQL ILIKE不返回任何数据?

我正在testing用于searchlogging的sql代码。 我有数据库A(我的家庭副本)和数据库B(一个站点的服务器,数据库是数据库A的绝对克隆)。 为了这个例子的目的,假设我有一个3列的表 – 用户名 名字 姓 假设你在表中有几个logging,在所有列中都包含“testing”,“testing”,“testing者”等字样。 现在,您需要select所有列中包含单词“test”的所有logging。 适当的SQL查询将是: SELECT * FROM users WHERE username ILIKE $$%test%$$ OR firstname ILIKE $$%test%$$ OR lastname ILIKE $$%test%$$; 他的代码返回数据库A的正确数据,但它不会返回数据库B上的任何东西。副本是相同的 – 我已经倾销数据库A(我的本地机器)并将其导入到数据库B(服务器)。 只有我有权访问该服务器,所以没有人可以搞砸了事情。 另外,我试着丢弃数据库B和重新创build相同的导入只是为了确保和SQL查询后没有结果。 数据库A和数据库B的唯一区别是数据库A在32位机器上运行,而数据库B在64位机器上运行。 版本不同-db A运行8.3.5,db B运行9.0.2,configuration是安装PostgreSQL时默认的configuration。 这可以关联到32/64位操作系统? 是因为不同的版本,还是我需要启用的设置? 我99,999%肯定这是我正在执行的SQL是正确的,所以我已经排除了一个..

如何在Debian lenny上运行Postgresql 8.2?

我们正在运行一个需要Debian Etch上的PostgreSQL 8.2的遗留应用程序。 由于Debian放弃了对etch的支持,我们正在认真考虑升级到Debian Lenny。 但是,如果我们能继续在Debian Lenny上运行PostgreSQL 8.2,我们就会陷入困境。 因此,是否有可能继续在Debian Lenny系统上运行PostgreSQL 8.2(不是升级,也许是将其挂接),Debian Lenny系统将会从Debian Etch升级。 如果是这样,怎么样?

phppgadmin的默认login凭证

大家好。 我想要的情况下,我可以指向我的phppgadminurl,它打开了而不要求login细节,即如何设置phpmyadmin使用默认的login凭据。 或者如何增加会话到期之前的时间。 这些对于phpmyadmin来说很简单。 谢谢大家

将SQL服务器放置在Zend服务器环境中

我们的开发人员希望从个人安装的php,apache和mysql迁移到更加集成的环境。 所以他们决定切换到安装在每个开发人员计算机上部署的VMware Workstation映像上的ZendServer。 在testing新环境的时候,出现了一个关于在哪里放置SQL服务器(MySQL,PostgrSQL,SQLite)的问题。 我们开发了以下方法:将其集成到ZendServer VM中,这似乎是您可以与ZendServer(Windows)一起安装MySQL的预期方式。 在开发人员计算机上本地安装。 将其放置在开发人员计算机上VMware Workstation环境中运行的另一个单独的VM上,并通过TCP或套接字(?)连接。 将其放置在基于ESX的虚拟基础架构中的虚拟机上,并通过TCP连接。 我的问题是你更喜欢哪种方法,或者你如何在开发环境中pipe理与SQL服务器的连接? 由于我是IT人员,而不是开发人员,所以从开发人员的angular度来看,我不太清楚上述方法的优点和缺点。 您是否知道Zend或其他涉及此问题的最佳实践或白皮书? 非常感谢和感谢! 基督教

PostgreSQL自动备份

我一直在尝试在Windows服务器上设置备份脚本。 我已经使用pgAgent(调度pgAdmin)来运行备份脚本。 备份脚本没有问题。 但是,我的工作没有像他们应该运行。 我已经设定了时间表和步骤。 我相当肯定,我是在没有所需权限的情况下在错误的用户或用户下运行服务的。 我运行这样的服务: "C:\Program Files\pgAdmin III\pgAgent" INSTALL pgAgent -u postgres -p secret hostaddr=127.0.0.1 dbname=pgadmin user=postgres 我得到一个错误,告诉我,login信息有错误,但我知道这是正确的。 当我服务(控制面板 – >pipe理 – >服务)下,我能够启动与本地用户的服务。 这可能是问题吗? 我在哪里可以看到或更改postgres用户的权限?

监测缓慢的nginx /独angular兽请求

目前我正在使用Nginx将请求代理到运行Sinatra应用程序的Unicorn服务器。 应用程序只定义了几条path,这些path对PostgreSQL数据库进行相当简单的(非昂贵的)查询,最后以JSON格式返回数据,这些服务都由上帝监视。 我目前正在经历从这个应用程序服务器响应时间非常缓慢。 我有另外两个通过Nginx代理的Unicorn服务器,而且这些服务器的响应非常好,所以我认为我可以排除Nginx中的任何错误。 这是我的上帝configuration: # God configuration APP_ROOT = File.expand_path '../', File.dirname(__FILE__) God.watch do |w| w.name = "app_name" w.interval = 30.seconds # default w.start = "cd #{APP_ROOT} && unicorn -c #{APP_ROOT}/config/unicorn.rb -D" # -QUIT = graceful shutdown, waits for workers to finish their current request before finishing w.stop = "kill -QUIT `cat #{APP_ROOT}/tmp/unicorn.pid`" w.restart […]

可怕的PostgreSQLlocking性能

我最近注意到在运行数据库服务器几个月之后,PostgreSQL的locking性能下降了。 网站的负载这几周增加了很多,但是速度越来越慢。 $ psql webspace2_db psql (9.0.1) Type "help" for help. webspace2_db=# 数据库服务器运行FreeBSD 8.1 + PostgreSQL 9.0.1 FreeBSD Moncalvo 8.1-RELEASE-p2 FreeBSD 8.1-RELEASE-p2 #1: Mon Jan 10 13:02:48 MYT 2011 hailang@Moncalve:/usr/obj/usr/src/sys/Moncalve amd64 服务器上的内存总量为4GB Moncalvo# cat /var/run/dmesg.boot | grep memory real memory = 4294967296 (4096 MB) avail memory = 4101955584 (3911 MB) 内核configuration中共有3GB的共享内存 # Shared Memory options […]

如何在两个版本的LINUX上安装Postgres?

我想将我的postgres8.3升级到单个域的8.4。 不要影响其他域。 如何pipe理它。 可能吗?

每日批量更新后Postgresql 9数据库大小膨胀

我有一个Postgres数据库,我正在导入/更新每天大约4 GB的数据。 (通常大约15-20万行)我正在使用批量插入从平面文件数据转储import。 我也有一个“插入重复键,更新”风格的触发器,只需更新一个行,如果该ID已经存在。 导入数据本身没有太大的增长(就文件大小而言),主要只是logging正在更新,插入less量新logging。 另外,每次导入后,我正在运行VACUUM ANALYZE 。 今天我注意到数据库的大小膨胀到15GB左右。 做了一些Googlesearch之后,我决定尝试一下VACUUM FULL和REINDEX 。 数据库的大小显着下降(约50%)。 我读了这可能是关于max_fsm_pages设置,但它看起来像是从Postgres 8.4删除,所以我不知道这是怎么回事。 在postgres日志里没有什么我能看到的特别感兴趣的东西。 这是一个过程的logging: http : //pastie.org/private/jt7mxajyyxuzvodch9goq 所有的桌子都缩小了很多,但是我觉得有趣的是,在真空和重build索引之前,最大的桌子是一个3.7GB的索引(甚至比最大的内容表2.8GB还要大),缩小到629MB。 这是正常的还是这里有什么问题? 我试图保持磁盘上的文件大小,因为这是在一个相当小的Linode虚拟机上运行的。 更新:使用pgAdmin,这里是统计信息选项卡的几个屏幕截图: 数据库统计: http : //cl.ly/1v1t2L0n2m4220001F2v 所有表统计: http : //cl.ly/273B3F242O2y2Z3C3c2L app_prices表格统计: http ://cl.ly/1P3Y142P2d2P3v3s0p11 所以,从上一个截图看来,它看起来像是引起问题的索引膨胀。 表大小是3.0GB,而索引大小是4.4GB。 例如,app_prices表是行数最多的表(约3500万),只有5列和3个索引。 这是否仍然正常?

需要帮助将PostgreSql数据库恢复到新服务器

正如在主题中所说,我需要一些帮助恢复数据库到一个新的服务器。 在一台服务器上有一个生产数据库 – 我每天都会将该数据库自动备份到远程位置:pgdump,二进制文件和bzipped日志。 现在我想在运行该数据库副本的另一台服务器上创build一个testing环境。 你能告诉我一步一步如何恢复它? 我读了http://www.postgresql.org/docs/8.3/interactive/continuous-archiving.html,但是由于我在短时间内使用了Postgres,所以我有一些理解它的问题。