在上传备份数据库期间,我运行命令:
pg_restore 20150401.backup > backup.txt
这给了我以下的警告:
pg_restore:[archiver]警告:不知道如何设置对象的所有者 物质化视图
事实上,当备份开始时,materilzed视图不存在。 所以我需要在查询中手动运行它的创建代码。这非常不方便。
我正在运行PostgreSQL 9.3.3
有没有办法解决这个问题?这个问题是在未来的版本中解决的吗?
答案 0 :(得分:0)
你可以得到查询它的定义,例如:
创建视图
t=# create materialized view so55 as select * from pg_tables where tablename like 'gt%';
SELECT 0
获取ddl:
t=# \pset format unaligned
Output format is unaligned.
t=# select concat('create view ',schemaname,'.',matviewname,' as ',definition) from pg_matviews where matviewname = 'so55';
concat
create view public.so55 as SELECT pg_tables.schemaname,
pg_tables.tablename,
pg_tables.tableowner,
pg_tables.tablespace,
pg_tables.hasindexes,
pg_tables.hasrules,
pg_tables.hastriggers
FROM pg_tables
WHERE (pg_tables.tablename ~~ 'gt%'::text);
(1 row)