我刚刚使用 Ubuntu 的突触应用程序安装了 postgresql、php5,特别是 PhpPgAdmin。PHP 运行良好,http 服务器 (lighttpd) 运行良好,我可以在命令行中执行 pg。唯一仍然是个谜的是 PhpPgAdmin - 如何启动它以使用它?我对启动 PhpPgAdmin 的正确方法一无所知;网站上的任何地方都没有对此进行解释。我尝试在 bash 命令提示符下键入 phppgadmin,然后在浏览器的地址栏中输入“ http://phppgsdmin/ ”和“ http://localhost/phppgadmin ”作为胡乱猜测 - 没有任何反应。秘密是什么?
顺便说一句,我只在本地主机上提供 http 服务,做纯粹的私有网络开发。
决定将我基于 Windows 的 DNS 服务器移至 linux。问题是我需要能够动态更新区域文件而不必重新启动绑定。似乎最流行的解决方案是为数据库服务器( postgresql、sqlite、mysql)安装绑定驱动程序,然后更新区域文件。看起来很简单,但我无法让它为我的生活工作。
我目前正在使用 Amazon Linux 发行版,但我也尝试了 RHEL 6.2 中的所有内容,但都没有成功。
我尝试了几种不同的方法。第一个是使用源代码更改来编译绑定以支持 mysql 支持http://pbraun.nethence.com/doc/net/bind-mysql.html。这与更改一起编译得很好,我没有收到任何错误,但是在运行make install所有二进制文件后被复制到 /usr/local/sbin 但我似乎无法启动我运行的守护进程service named start,它只是告诉我没有名为(没有双关语意)。其次,没有生成任何配置文件。所以我创建了一个名为.conf 的文件并将其放入 /etc/named.conf 然后运行/usr/local/sbin/named-checkconf它告诉我它找不到文件 /etc/named.conf 所以我不知道。
接下来我尝试安装包 bind-sdb 并使用 postgresql。安装的软件包
yum -qy bind bind-sdb bind-utils postgresql postgresql-server
按照http://bind-dlz.sourceforge.net/postgresql_example.html上的步骤我创建了一个新的 postgre 数据库和表等。下面是我当前的 named.conf
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost …Run Code Online (Sandbox Code Playgroud) postgresql domain-name-system bind amazon-ec2 amazon-web-services
我目前使用“md5”身份验证从局域网访问:
host all all 192.168.1.0/24 md5
我想添加ldap身份验证方法,所以我之前添加了这一行:
host all all 192.168.1.0/24 ldap "ldap://192.168.1.2/basedn;uid=;,cn=xx,dc=yy,dc=zz,dc=ca"
这适用于 ldap 帐户,但如果我尝试使用 LDAP 服务器上不存在的帐户登录,则登录失败(postgresql 不尝试 md5 身份验证)。
有没有一种方法可以使用 postgresql 支持多种身份验证方法?
我正在尝试在相对干净的 Lion 安装上设置 pg,但没有成功。
首先我成功安装了自制软件,并安装了 postgresql 没有任何错误。
然后我尝试运行一个 rails 应用程序,出现错误。尝试运行此脚本:http : //nextmarvel.net/blog/2011/09/brew-install-postgresql-on-os-x-lion/
为了隐藏默认系统 postgres 安装,但现在我收到以下错误:
could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
Run Code Online (Sandbox Code Playgroud)
当我尝试postgres在 bin 目录中运行脚本时,出现以下错误:
larson:~ larson$ /usr/local/Cellar/postgresql/9.1.3/bin/postgres ; exit;
postgres does not know where to find the server configuration file.
You must specify the --config-file or -D invocation option or set the PGDATA environment variable.
logout
Run Code Online (Sandbox Code Playgroud)
很明显,postgres 无法启动,因为它没有正确配置。有没有人对配置它的正确方法有任何建议,以便它启动?
我已经使用 PG Pool 设置了两台服务器来为 web 应用程序创建 HA 设置。
PGPool 和 postgres 在两台服务器上运行,使用从服务器 1 到服务器 2 的流式复制。每台机器上的 webapp 连接到 PgPool,然后将请求发送到当前主服务器。如果数据库连接中断,它被设置为自动故障转移,它运行自定义故障转移脚本将服务器 1 降级为从服务器并将服务器 2 提升为主服务器。
今天早上发生的事情是,网络中断了 2 分钟,这意味着两个 PGPool 实例都无法相互通信 - 因此每个 PGPool 都认为另一台机器出现故障。
服务器 1 - 继续作为主服务器,断开服务器 2
服务器 2 - 启动故障转移,断开服务器 1 并使其自己成为主服务器
由于网络关闭,故障转移命令无法通过服务器 1 使其成为从服务器,反之亦然。因此,当网络在 2 分钟后恢复正常时,我所拥有的是两台服务器,它们都认为自己是主服务器。
PgPool 似乎没有自动故障回复命令,可以用来在网络重新连接时强制服务器 1 再次成为主服务器,这是我能想到的唯一真正的解决方案。
我的问题是我应该如何处理这种情况?这甚至是此设置的正确架构吗?当然,这是一个常见的情况,我无法理解如何解决这种问题。
编辑:是否建议 pgpool 在 linux-ha 下的虚拟 ip 下运行?这可以解决问题,而且我已经为公共 IP 启动并运行了它——这样,任何一台机器都只能访问一个 pgpool 实例。
我有一个很重的 postgres 查询。运行需要十多分钟。我想升级我的硬件以使其运行得更快。我认为更多的内存会有所帮助,但我的主板已满,所以我需要一个全新的主板。我不想投资,除非我知道我会得到更好的结果。这是我在 iotop 中看到的:
总磁盘读取:46.81 M/s | 总磁盘写入:0.00 B/s
TID PRIO 用户磁盘读磁盘写交换 IO> 命令
27 be/4 根 0.00 B/s 0.00 B/s 0.00 % 99.99 % [kswapd0]
2514 be/4 postgres 46.81 M/s 2.45 M/s 0.00 % 18.36 % postgres: postgres db1 127.0.0.1(55328) SELECT
1 be/4 根 0.00 B/s 0.00 B/s 0.00 % 0.00 % init
2 be/4 根 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]
3 be/4 根 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0]
4 … 我正在尝试使用 Backports 在 Debian Squeeze 服务器上安装 PostgreSQL 9.1,但安装后我没有 /etc/postgresql 文件夹,而是有一个 /etc/postgresql-common 文件夹。
有什么我做错了吗?根据 Debian Wiki,我应该有一个 /etc/postgresql/9.1/ 文件夹。
我不熟悉 ubuntu (raring),所以有人可以帮助我吗:
我正在使用 apt 的 postgresql 9.1。它在/etc/init.d/postgresql. 我可以使用脚本手动启动服务器。但是,postgres 不会在启动时启动。我发出了一个update-rc.d postgresql defaults和update-rc.d postgresql enable(作为root),但这没有帮助。
是否有特定的引导日志,因为我在 syslog 中找不到任何内容?谢谢你们
EDIT2:好的,问题似乎是 sysvinit 与 upstart 的问题。如果我删除符号链接/etc/rcX:
sudo update-rc.d -f remove postgresql
Run Code Online (Sandbox Code Playgroud)
并添加一个upstart 脚本来启动 postgresql,它按预期在启动时启动。由于 postgresql 来自官方 apt 存储库,我想知道为什么它不能开箱即用?
我正在尝试在 Windows 2008 R2 64 位机器上安装 Postgres ODBC 32 位驱动程序。安装后,没有错误,我进入ODBC面板,/syswow64文件夹下的32位版本并尝试添加驱动程序,从列表中选择Postgres驱动程序但我收到错误126,说他找不到指定路径的驱动程序。
问题是他向我展示的路径是驱动程序所在的确切路径,我仔细检查了注册表(在 HKLM\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\ 位置),那里也很好。technet 上还有几个人也有同样的问题。
有没有人遇到过这种情况?任何想法将不胜感激。
编辑:驱动程序在我的 win7 x64 测试机上工作正常,这种行为只发生在服务器上。
我正在尝试将 Amazon RDS 上的 PostgreSQL 数据库设置为位于常规服务器上的另一个 PostgreSQL 数据库的副本。我在网上找到的大多数指令都需要 shell 访问,以便您可以复制一堆无法通过 psql shell 操作的数据文件。
Amazon RDS for PostgreSQL 不提供 shell 访问,因此这些方法不起作用。还有另一种方法可以启用流式复制吗?
提前致谢!
PS 我见过这个问题,但它不是重复的,因为它特别询问 MySQL,而不是 PostgreSQL。
postgresql ×10
amazon-ec2 ×1
amazon-rds ×1
bind ×1
debian ×1
failover ×1
ldap ×1
linux ×1
lion ×1
mac-osx ×1
odbc ×1
performance ×1
replication ×1
ubuntu ×1