Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以在哪里创建触发器的PostgreSQL副本?_Postgresql - Fatal编程技术网

我可以在哪里创建触发器的PostgreSQL副本?

我可以在哪里创建触发器的PostgreSQL副本?,postgresql,Postgresql,我有一些我想写的PostgreSQL触发器,它们使用了合理数量的CPU,然后在出现复杂模式时通知。这些触发器由我的应用程序动态创建。(不过,它调用的函数不必是动态的,只需传递给触发器的参数即可。) 是否可以设置PostgreSQL流式复制,以便有一个主服务器,我在其中执行所有“正常”写入操作,还有一组读取副本,我几乎完全连接到这些副本来执行读取操作。。。但是我在哪里也可以创建只在读取副本上运行的触发器呢?也就是说,这会将触发器的CPU负载从主机转移到可能大量的副本。(我可能会将pg_temp用于

我有一些我想写的PostgreSQL触发器,它们使用了合理数量的CPU,然后
在出现复杂模式时通知
。这些触发器由我的应用程序动态创建。(不过,它调用的函数不必是动态的,只需传递给触发器的参数即可。)

是否可以设置PostgreSQL流式复制,以便有一个主服务器,我在其中执行所有“正常”写入操作,还有一组读取副本,我几乎完全连接到这些副本来执行读取操作。。。但是我在哪里也可以创建只在读取副本上运行的触发器呢?也就是说,这会将触发器的CPU负载从主机转移到可能大量的副本。(我可能会将
pg_temp
用于中所述的功能。)

当我尝试使用Amazon RDS读取副本时,任何在读取副本上创建甚至
pg_temp.
函数的尝试都会失败,因为
无法在只读事务中执行创建函数
,但可能有其他方法来配置流式复制,以便实现这一点

是否可以设置PostgreSQL流式复制,以便有一个主服务器,我在其中执行所有“正常”写入操作,还有一组读取副本,我几乎完全连接到这些副本来执行读取操作。。。但是我在哪里也可以创建只在读取副本上运行的触发器呢

不,不是。流式复制在块级别完成。它不知道是什么语句改变了哪些行、哪些位置。它也是严格只读的。严格来说,你不能做任何改变系统目录的事情,比如
pg_class
pg_proc
,即使是暂时的

你可能想调查一下Londiste。如果您创建一个触发器,那么它可以触发Londiste从主机复制的写操作

也可用于读取副本。它还不支持在下游行写操作上触发触发器,但它的实现很实用,只是还没有成为开发的优先事项

是否可以设置PostgreSQL流式复制,以便有一个主服务器,我在其中执行所有“正常”写入操作,还有一组读取副本,我几乎完全连接到这些副本来执行读取操作。。。但是我在哪里也可以创建只在读取副本上运行的触发器呢

不,不是。流式复制在块级别完成。它不知道是什么语句改变了哪些行、哪些位置。它也是严格只读的。严格来说,你不能做任何改变系统目录的事情,比如
pg_class
pg_proc
,即使是暂时的

你可能想调查一下Londiste。如果您创建一个触发器,那么它可以触发Londiste从主机复制的写操作

也可用于读取副本。它还不支持在下游行写操作上触发触发器,但它的实现很实用,只是还没有成为开发的优先事项

是否可以设置PostgreSQL流式复制,以便有一个主服务器,我在其中执行所有“正常”写入操作,还有一组读取副本,我几乎完全连接到这些副本来执行读取操作。。。但是我在哪里也可以创建只在读取副本上运行的触发器呢

不,不是。流式复制在块级别完成。它不知道是什么语句改变了哪些行、哪些位置。它也是严格只读的。严格来说,你不能做任何改变系统目录的事情,比如
pg_class
pg_proc
,即使是暂时的

你可能想调查一下Londiste。如果您创建一个触发器,那么它可以触发Londiste从主机复制的写操作

也可用于读取副本。它还不支持在下游行写操作上触发触发器,但它的实现很实用,只是还没有成为开发的优先事项

是否可以设置PostgreSQL流式复制,以便有一个主服务器,我在其中执行所有“正常”写入操作,还有一组读取副本,我几乎完全连接到这些副本来执行读取操作。。。但是我在哪里也可以创建只在读取副本上运行的触发器呢

不,不是。流式复制在块级别完成。它不知道是什么语句改变了哪些行、哪些位置。它也是严格只读的。严格来说,你不能做任何改变系统目录的事情,比如
pg_class
pg_proc
,即使是暂时的

你可能想调查一下Londiste。如果您创建一个触发器,那么它可以触发Londiste从主机复制的写操作

也可用于读取副本。它还不支持在下游行写操作上触发触发器,但它的实现很实用,只是还没有成为开发的优先事项