我知道如何在表中创建主键,但如何将现有索引设为主键?我正在尝试将现有表从一个数据库复制到另一个数据库。当我显示表格时,底部的索引是这种形式:
"my_index" PRIMARY KEY, btree (column1, column2)
Run Code Online (Sandbox Code Playgroud)
我已经创建了索引:
CREATE INDEX my_index ON my_table (column1, column2)
Run Code Online (Sandbox Code Playgroud)
但我不知道如何使它成为主键......
更新:我的服务器版本是 8.3.3
所以我问了这个问题:
但是直到我阅读了答案并进行了更多研究后,我才知道得足够多。对于同时询问大约 100 个查询的快节奏系统,使用 Map-reduce 或分片更好吗?分片将跨集群替换我的数据,看起来它本质上是做一个 map-reduce 或排序。如果我要对此类查询使用 map-reduce,是否也应该使用集群来执行此操作?如果是这样,从一个 Mongo 服务器开始,然后使用集群并将 map-reduce 任务分发到集群有多容易?或者我对我认为我需要完成的事情感到困惑?
我将开始使用 Mongo 作为数据库,但一开始我不会将它聚集在一起。我可以在一台机器上使用 Mongo,然后再回来,集群它并利用分片吗?或者我可以为只有一台机器的集群设置它,直到我有更多的机器添加到集群中?
我正在运行 Postgres 8.3.3。我在 Linux 文件系统上有一个非常完整的 postgres 数据库。我已经运行了 VACUUM 和 VACUUM FULL,但没有任何空间返回给操作系统。当我在 postgres 中观察表的大小时,它表明该表使用的空间要少得多(从 80MB 到 800MB)。
还有什么应该运行的吗?
我正在从 mysqldump 恢复备份,并注意到如果我向数据库添加了内容(以新表的形式),它们会在恢复后保留下来。我可以返回并删除这些表以恢复到原始状态,但由于我需要测试迁移,我希望在转储期间将数据库恢复到其状态,而无需手动进入并删除表。
我想我可以DROP Database XXX
在恢复之前做一个,但这会妨碍我当前的恢复方法吗?