我在Ubuntu 9.04下使用PostgreSQL 8.3。 我使用控制台客户端或Pgadmin III访问我的数据库服务器。 目前,我需要限制只能访问数据库中的几个模式,也不要在服务器上显示其他数据库。 例如,我目前的postgres服务器有以下数据库: postgres-8.3-server |– db1 | |– sch_a | |– sch_b | |– sch_c | `– sch_d |– db2 | |– sch_e | |– sch_f | `– sch_g `– db3 `– sch_h 我需要限制angular色“joe”来访问只有db2的sch_e和shc_g,也不要在同一个数据库中显示其他模式。 列出数据库时,输出结果应该是: postgres-8.3-server |– db2 |– sch_e `– sch_g 我目前的解决scheme限制模式和数据库访问,但我仍然可以看到数据库名称列表。 当我尝试访问其中的任何一个(除了允许的那个)之外,我收到一条关于在pg_hba.conf文件中找不到的特定条目的消息,这很好,但不是很理想。 我目前正在查看手册和谷歌search更多的信息。 提前致谢
需要一些关于如何处理这种情况的build议:我目前的情况是,我有几个postgresql(50+)盒子部署在各个位置和数据中心和一个强大的postgresql框设置在一个homebase位置。 所有部署的盒子都有相同的数据库布局。 我正在寻找一个解决scheme,将允许几件事情。 我意识到这些选项中有一些重叠,有些可能只包含相互排斥的解决scheme。 不过,我有兴趣听到你的想法:) 远程查询已部署的框,并将结果返回到本机框进行处理。 每晚(远程)“同步”或将已部署的数据库的数据库转储到主页框上的主数据库。 虽然每个遥控器的盒子都有相同的表格布局,但是实际的数据在板子上是不一样的。 能够将所有这些数据远程转储到主数据库中将是理想的。 从homebase框中远程推送表项到所有已部署的框。 确保数据传输的安全性,以及远程部署的盒子。 到目前为止,我一直在一个自制的multithreadingpython / perl系统上运行,SSH远程地将这些信息发送到homebase服务器,并通过ssh连接把原始的查询结果拉出来(或者推送)。 我甚至碰到#2(远程同步),因为我知道会很快得到讨厌的。 我对任何想法都有兴趣,可以扩展并坚持使用FreeBSD / Linux环境。
我们的networking应用越来越stream量,这使得我们糟糕的pg8.3数据库服务器有点麻烦。 我已经看了一下使用pgpool II对数据库进行集群以减轻一点压力,我想知道如何做到这一点,以尽量减less停机时间,考虑到我将聚集一个实时数据库。 有没有人有这方面的经验或知道任何指导要遵循? 干杯:)
我有两个系统运行,一个在Linux上,另一个在Windows上运行。 从Linux机器上,我对两个系统都运行pg_dump并转储了模式。 pg_dump命令: pg_dump -h HOST -U USER -s -f /tmp/out.sql DB_NAME 在我删除了所有的“ – ”评论之后,我将这些文件分散在一起。 比较输出片断,linux比较windows: – ADD CONSTRAINT sys_c004775 FOREIGN KEY (ruleid) REFERENCES rule(ruleid); + ADD CONSTRAINT sys_c004775 FOREIGN KEY (ruleid) REFERENCES "rule"(ruleid); Linux转储不引用任何实体和窗户。 这是一些编码的function,或只是在Windows和Linux的区别? 在pg_dump中有一个选项可以使输出更加一致吗?
我如何在Ubuntu 9.10上安装python-psycopg(而不是python-psycopg2) “apt-get install python-psycopg”返回“Package python-psycopg没有安装候选” 我也在psycopg-1.1.21.tar.gz下载了源代码,但在存档中找不到“make”命令。
是否有可能得到postgres服务器8.1中的pg_trgm插件使用Unicode字符?
我正在使用以下脚本来执行Postgresql的文件级备份。 我有时会看到最后一部分,在调用“pgs_backup_stop”之后进行清理,在等待最后一个WAL被创build时挂起。 search的REF_FILE有时是错误的。 我还通过rsync将这些文件发送到不同的机器,每5分钟一次。 其他人如何安全删除旧的WAL文件? #!/bin/bash PGDATA=/usr/local/pgsql/data WAL_ARCHIVE=/usr/local/pgsql/archives PGBACKUP=/usr/local/pgsqlbackup PSQL=/usr/local/pgsql/bin/psql today=`date +%Y%m%d-%H%M%S` label=base_backup_${today} echo "Executing pg_start_backup with label $label in server … " CP=`$PSQL -q -Upostgres -d template1 -c "SELECT pg_start_backup('$label');" -P tuples_only -P format=unaligned` RVAL=$? echo "Begin CheckPoint is $CP" if [ ${RVAL} -ne 0 ] then echo "PSQL pg_start_backup failed" exit 1; fi […]
我在x386上的Ubuntu服务器10.04上安装了postgresql 8.4.x。 我也做了以下步骤 编辑/etc/postgresql/8.4/main/postgresql.conf并添加以下行 listen_addresses ='*' password_encryption =开 编辑/etc/postgresql/8.4/main/pg_hba.conf并添加 主机全部yyyy 255.255.255.0 md5 我启用防火墙打开端口5432,并检查端口是否打开再打字sudo ufw状态,我可以看到5432打开。 最后我重新启动了postgres服务。 但是,从我的电脑,我无法连接到postgresql服务器 – 我得到的错误为“ 无法连接到服务器:连接被拒绝。服务器上运行的主机xxxx和接受端口5432上的TCP / IP连接? ”。 我能做些什么来确保postgres可以听我的连接? 谢谢, BR, 〜一
我正在build立一个带有1个应用程序服务器和1个数据库服务器的系统,我想使用pgpool的连接池function来帮助确保站点的稳定性并减less开销。 我是否应该在应用程序或数据库服务器上安装pgpool以获得最大的影响?
我的公司将拥有一个由大约2-3亿条logging组成的数据集。 源材料是csv,大约150GB未压缩。 我们需要执行数据的初始加载,然后每天更新约1%的logging。 我们也希望能够保持每条logging的历史。 我们目前使用MySQL,似乎有些人正在使用MySQL和PostgreSQL来处理这个大小的数据库,但是我并没有看到有关他们的经验的很多难以理解的信息。 我们肯定可以逃脱,而不会规范化数据,我可以设想分布在很多服务器上的信息。 那么MongoDB或其他一些非传统的数据存储呢? 有没有人对这种努力的可行性有任何想法? 我感谢您能够给予的任何帮助。