我有一个postgres数据库,其中包含一个字段(VARCHAR),该字段是与数据库相同服务器上文件的完整路径和文件名。
我可以把文件列出来。
SELECT myFileName FROM tableA;
有一个陷阱-一些文件实际上并不存在(至少在它们列出的位置不存在)。
我可以使用pg_stat_file()列出任何存在的文件的信息
SELECT myFileName, pg_stat_file(myFileName) FROM tableA;
但是,如果我的数据库中引用的一个文件实际上不存在,那么上面的查询就会出现一个适当的错误消息。
ERROR: could not stat file
目前,我有一个postgres实例,它开始接收太多的负载,并希望创建一个包含2个postgres节点的集群。
从postgres和pgpool的文档中可以看出,我似乎只能向主服务器写入数据,从从服务器读取数据,或者运行并行查询。
我正在寻找的是一个简单的数据库复制,但与主/从基于哪个表被更新。这个是可能的吗?我是否在文档中的某个地方遗漏了它?
例如:
update users will be executed on server1 and replicated to server2
update big_table will be executed on server2 and replica
通常我会用一个简单的联合来解决这个问题。但这一次有我。我将一个表复制到两个不同的数据库引擎。一份在postgres上,一份在带有DB2的AS/400上。
我需要想出一个获取postgres表的例程,并将每个记录的字段中的数据与DB2表进行比较,然后将不同的记录记录到postgres表中以便进行报告。
当前的系统遵循这种模式。
load postgres data into recordset prs
for each record in prs {
search for record in db2
compare record
if diff, log
}
这通常是有效的。
我在数据库中发现了一些可疑数据。我正在尝试确定某个字段lastname是否正确。我在postgres中提出了以下查询:
SELECT members."memberID",
members.lastname
FROM members
WHERE members."memberID" NOT IN (SELECT members."memberID"
FROM members
W
我试图使用从dbup转换为postgres的示例代码。
下面是密码。
using System;
using System.Linq;
using System.Reflection;
using DbUp;
namespace GeoServerDbManager
{
//"Host = 1.1.1.1; User Id = postgres; Password = postgres; Database = osmdev; Port = 5432"
class Program
{
static int Main(string[] ar