1.登录
sudo -u postgres psql
2.查看数据库
\l
3.切换到目标数据库
\c database_name
4.执行sql
\i /home/zxx/桌面/database_name.sql
或者在bash命令行直接:
psql -U username dbname < dbexport.sql
sudo psql -U username -d dbname -W < dbexport.sql
REINDEX
REINDEX命令重建一个或多个索引,取代了索引的以前的版本。REINDEX可以在许多场景中使用,包括以下内容(来自Postgres文档):
- 索引已损坏,不再包含有效数据。虽然理论上这种情况永远不会发生,但实际上索引会因软件错误或硬件故障而损坏。REINDEX提供了一种恢复方法。
- 索引变得 “臃肿”,即它包含许多空或几乎空的页面。 在某些不常见的访问模式下,PostgreSQL中的 B树索引会发生这种情况 。REINDEX提供了一种通过编写没有死页的索引的新版本来减少索引的空间消耗的方法。
- 您已更改索引的存储参数(例如fillfactor),并希望确保更改已完全生效。
- 使用CONCURRENTLY选项的索引构建失败,留下 “无效” 索引。这些索引没用,但使用REINDEX重建它们会很方便。请注意,REINDEX不会执行并发构建。要在不干扰生产的情况下构建索引,您应该删除索引并重新发出CREATE INDEX CONCURRENTLY命令。
例子
通过
FORCE
在命令后添加关键字可以强制执行任何这些操作
- 重新创建单个索引 myindex:
- 重新创建表格中的所有索引, mytable:
- 在schema public中重新创建所有索引 :
- 重新创建数据库postgres中的所有索引 :
- 重新创建数据库postgres中系统目录的所有索引 :
#1楼 该回复已被删除!