我想获取 PostgreSQL 中特定数据库的所有 UNIQUE 索引(用于唯一列组合)的列表。我进行了搜索,但找不到与此相关的查询。
我找到了这两个查询。
SELECT indexname FROM pg_indexes;
SELECT * from pg_indexes where schemaname = 'public';
Run Code Online (Sandbox Code Playgroud)
但两者都不适合我的需要。我只需要那些标识唯一列索引的索引。谢谢。
我刚开始使用 oracle,但遇到了一些问题。我的数据库是非归档模式。我做了两个备份:它们位于以下位置:
/opt/oracle/flash_recovery_area/CTGINST1/backupset/ol_mf_____20130408.bkp
/opt/oracle/flash_recovery_area/CTGINST1/backupset/ol_mf_____20130407.bkp
Run Code Online (Sandbox Code Playgroud)
我想从 4 月 7 日恢复第二个文件。我阅读了一些指南:http : //orafusion.com/art_rman3.htm
但我找不到命令如何使用这两个(或更多)中的特定备份文件指定恢复命令。它没有在这个链接和我阅读的其他链接上说。我想将它与RMAN 命令一起使用。恢复旧备份的命令是什么?
我发现
RMAN> restore database;
Run Code Online (Sandbox Code Playgroud)
但它如何知道要恢复什么文件?是否总是需要恢复 spfile 和控制文件,因为我没有创建一些额外的备份(只是运行命令backup database)
谢谢!!
切换到存档模式(从循环模式到将存档日志保存在磁盘上)后,我们有 C0000000 文件夹,其中复制了存档日志。现在我注意到创建了文件夹 C0000001、C0000002、C0000003 和 C0000004,其中 C0000001 和 C0000002 和 C0000003 只有一个日志文件。存档日志不断进入 C0000004 子文件夹。
这些文件夹的创建时间是一些随机时间(例如不是执行在线备份的时间)。
为什么会创建这些 C000000x 文件夹,这是常规行为还是我们应该关注?
谢谢
我在一台服务器上有数据库和表 collection_city 。它有 21 行。我在第二台服务器上有数据库和表 collection_city 。它也有 21 行。
他们都有这一行:
tinker=# table collection_city;
id | name | alias | postal_code | region_id
----+---------------+--------------+-------------+-----------
2 | Obrenovac | obrenovac | | 1
Run Code Online (Sandbox Code Playgroud)
id 列是主键。
我在第一台服务器上创建了发布:
CREATE PUBLICATION tinkerpub FOR ALL TABLES;
tinker=# \dRp[+]
Publication tinkerpub
Owner | All tables | Inserts | Updates | Deletes | Truncates
----------+------------+---------+---------+---------+-----------
postgres | t | t | t | t | t
(1 row)
Run Code Online (Sandbox Code Playgroud)
我在第二台服务器上创建了订阅:
CREATE SUBSCRIPTION tinkersub CONNECTION 'dbname=tinker host=192.168.150.5 user=postgres password=test port=5432' …Run Code Online (Sandbox Code Playgroud) postgresql replication master-slave-replication postgresql-11
postgresql ×2
archive ×1
backup ×1
db2 ×1
index ×1
logs ×1
oracle ×1
replication ×1
restore ×1
rman ×1