我试图在Amazon云中构build本地postgresql 9.2stream式复制。 根据文档,我已经正确地设置了一切 – 但在奴隶我得到这些日志: 2013-02-04 13:18:01.315 GMT LOG: streaming replication successfully connected to primary 2013-02-04 13:23:07.109 GMT LOG: invalid record length at 0/10000080 2013-02-04 13:23:07.109 GMT FATAL: terminating walreceiver process due to administrator command 2013-02-04 13:23:07.209 GMT LOG: invalid record length at 0/10000080 2013-02-04 13:23:12.214 GMT LOG: invalid record length at 0/10000080 2013-02-04 13:23:17.219 […]
我有一台运行在远程Debian Squeeze服务器上的PostgreSQL服务器。 我想同时使用ident和md5方法与用户postgreslogin。 前者是debian维护所需要的。 后者用于通过ssh端口转发连接我的本地postgresql客户端。 我的第一个aproach是添加到用户postgress像这样的行: # TYPE DATABASE USER CIDR-ADDRESS METHOD local all postgres ident local all postgres md5 这显然不起作用,正式文件解释说: 具有匹配的连接types,客户端地址,请求的数据库和用户名的第一个logging用于执行身份validation。 没有“落后”或“备份”:如果select了一条logging,authentication失败,则不考虑后续logging。 如果没有logging匹配,访问被拒绝。 因为前三列是相同的postgresql将简单地select它遇到的第一个。 我的解决方法是创build一个名为root的第二个超级用户 CREATE ROLE root LOGIN SUPERUSER CREATEROLE CREATEDB PASSWORD 'newpassword'; 并把以下内容放到pg_hba.conf中: # TYPE DATABASE USER CIDR-ADDRESS METHOD local all postgres ident local all root md5 有没有更好的解决scheme,而不创build第二个用户?
我有几个PostgreSQL表(9.1),经常插入/删除。 随着时间的推移,即使autovacuum被configuration并定期运行,他们也会受到指数膨胀的困扰。 我正在考虑在这些表上自动化REINDEX。 将不会有人物理访问数据库,因为软件将被安装在客户端,并且应该会运行多年。 我一直在阅读“cron作业”,但是我错过了一些关于如何最好地设置它的指南或教程,特别是在Windows环境中。 有人能指点我正确的方向吗? 欢迎提出其他build议,但主要要求是不需要任何手动操作。
我有一个32GB内存的服务器,一个英特尔E3-1245和四个15K的SAS磁盘,带有一个BB LSI MegaRaid控制器。 我不希望我的服务器具有最佳的性能,而且这样做的时间会相当长,而且可以接受的冗余优化较less,因为我的数据不是非常重要,我将一起运行stream式复制。 现在最好的办法是: 3个磁盘在RAID 0包含PGDATA + 1包含SYSTEM和WAL 所有四个在RAID 10中同时包含PGDATA,SYSTEM和WAL RAID 1中包含2个磁盘,包含PGDATA + 2个包含SYSTEM和WAL的RAID 1磁盘 有些不同?
我有我的设置像这样: 集群环境中的两个独立的数据库实例。 两个实例都在专用服务器上,每个服务器都支持标准configuration。 实例1(R1)由某个客户端(此实例具有读/写权限)的日常通用任务的应用程序使用。 由生成大型报告,数据挖掘和将来引用数据(此实例具有只读权限)的BI(业务智能)工具使用的实例二(R2)。 这需要沉重的服务器负载和CPU /内存消耗(基于定期监视) 运行商务智能工具的服务器也有相当好的规格,并分配了12GB的内存,因为我们认为瓶颈在那里。 尽pipe我们将12GB的内存分配给BI服务器,R2似乎缺乏性能。 我们的数据库有100多个表,主键基于UUID。 所以我的问题是什么是优化数据库的最佳方法? 索引会提高性能吗? 或者有什么最好的调整技巧或工具.. Postgresql数据库版本9.1
使用phpPadAdmin通过端口80连接Postgres数据库有多安全? 通过端口5432通过数据库客户端工具访问postgres数据库和通过端口80使用phpPgAdmin访问postgres数据库有什么区别? 谢谢!
我一直在做很多关于Amazon EC2扩展问题的研究,特别是数据库的增长。 我研究了如何使数据库更稳固和健全(我使用PostgreSQL)。 许多消息来源说,使用stream式复制的RAID0和WAL归档相当容错。 所有postresql数据和表格都将存储在具有RAID0的EBS卷上。 许多消息来源声称使用XFS系统是理想的。 如果在空间不足的情况下保持数据库联机,是否可以将更多的EBS卷添加到此RAID0arrays中? 如果是这样,是否有某种配方或来源我可以遵循?
有没有办法强制PostgreSQL命令( pg_ctl , postgres , initdb等)以英文运行,而不是尊重系统区域设置? 谢谢!
Postgres运行得很好(我用template0创build了一个数据库)。 然后,我用: $ /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data stop –mode=smart 停止Postgres,并没有大惊小怪。 然后,我用: $ /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l /var/log/postgres/serverlog start server starting 它似乎开始没有大惊小怪,但随后: $ /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data status pg_ctl: no server running 可以肯定的是,一个ps aux | grep postgres ps aux | grep postgres什么都不返回。 为什么会这样呢? 注意:我以postgres和/usr/local/pgsql/datalogin,dir由postgresrecursion拥有,但是值得注意的是postgres使用/etc/sh和/etc/bash因为我很笨并且使用了useradd vs adduser 。 我在Ubuntu 12.04.2上运行Postgres 9.2.4。
我将postgresql9.1安装到我的Centos 6.4中。 我可以做psql template (以root身份)打开数据库控制台,但不能使用Rails rake db:create来创build数据库: FATAL: Ident authentication failed for user "root" 我的configuration如下: { "adapter"=>"postgresql", "host"=>"localhost", "encoding"=>"unicode", "username"=>"root", "pool"=>5, "database"=>"xxx_prod" } 我猜Rails无法find袜子文件(.s.PGSQL.5432)。 所以我想明确指定它,但我不知道袜子文件的位置。 它应该在哪里? 我怎样才能find它?