相关疑难解决方法(0)

Postgresql - 备份数据库并在不同的所有者上恢复?

我在不同服务器上的数据库上进行备份,并且具有与我需要的不同的角色,使用以下命令:

pg_dump -Fc db_name -f db_name.dump
Run Code Online (Sandbox Code Playgroud)

然后我将备份复制到我需要还原数据库的另一台服务器,但是没有这样的所有者用于该数据库.假设数据库拥有所有者owner1,但在不同的服务器上我只有owner2,我需要恢复该数据库并更改所有者.

我在恢复时在另一台服务器上做了什么:

createdb -p 5433 -T template0 db_name 
pg_restore -p 5433 --role=owner2 -d db_name db_name.dump
Run Code Online (Sandbox Code Playgroud)

但是当运行恢复时,我会收到以下错误:

pg_restore: [archiver (db)] could not execute query: ERROR:  role "owner1" does not exist
Run Code Online (Sandbox Code Playgroud)

如何指定它以便更改所有者?还是不可能?

database postgresql owner database-restore database-backups

62
推荐指数
2
解决办法
4万
查看次数

从Rails 4应用程序调用大量SQL

我有一个Rails 4应用程序,我与它一起使用sidekiq来运行异步作业.我通常在我的Rails应用程序之外运行的一个作业是一大堆复杂的SQL查询,它们无法真正由ActiveRecord建模.这组SQL查询与我的Rails应用程序的连接是,它应该在我的一个控制器操作被调用时执行.

理想情况下,我会从控制器中的Rails应用程序中为Sidekiq排队,继续运行查询.现在它们存储在一个外部文件中,我不完全确定Rails运行所述SQL的最佳方法是什么.

任何解决方案都很受欢

ruby sql ruby-on-rails sidekiq ruby-on-rails-4

12
推荐指数
4
解决办法
5564
查看次数

如何将BIG SQL文件导入rails数据库?

我有一个非常庞大的(> 8mo)sql文件,基本上创建了2个表并用数据填充它们.这是Sequel Pro生成的转储.我的第一个想法是逐行读取文件并运行"执行"命令,但我有一个错误,我的字符串太大了.

Mysql2 ::错误:有一个大于'max_allowed_pa​​cket'字节的数据包

有没有办法直接运行SQL文件而不是读取它并尝试执行?
仅供参考我可以将这个文件分成2个部分分别用于2个表格,但是我之后会有另一个更大的文件并且不能被分割.
我正在使用Rails 3.0.3与ActiveRecord和MySQL数据库.

sql import activerecord ruby-on-rails

2
推荐指数
1
解决办法
4302
查看次数