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

REINDEX

REINDEX命令重建一个或多个索引,取代了索引的以前的版本。REINDEX可以在许多场景中使用,包括以下内容(来自Postgres文档):

  • 索引已损坏,不再包含有效数据。虽然理论上这种情况永远不会发生,但实际上索引会因软件错误或硬件故障而损坏。REINDEX提供了一种恢复方法。
  • 索引变得  “臃肿”,即它包含许多空或几乎空的页面。 在某些不常见的访问模式下PostgreSQL中的 B树索引会发生这种情况  REINDEX提供了一种通过编写没有死页的索引的新版本来减少索引的空间消耗的方法。

  • 您已更改索引的存储参数(例如fillfactor),并希望确保更改已完全生效。

  • 使用CONCURRENTLY选项的索引构建失败,留下  “无效”  索引。这些索引没用,但使用REINDEX重建它们会很方便。请注意,REINDEX不会执行并发构建。要在不干扰生产的情况下构建索引,您应该删除索引并重新发出CREATE INDEX CONCURRENTLY命令。

例子

通过FORCE在命令后添加关键字可以强制执行任何这些操作 

  1. 重新创建单个索引  myindex

    REINDEX INDEX myindex
  2. 重新创建表格中的所有索引,  mytable

    REINDEX TABLE mytable
  3. 在schema public中重新创建所有索引  

    REINDEX SCHEMA public
  4. 重新创建数据库postgres中的所有索引  

    REINDEX DATABASE postgres
  5. 重新创建数据库postgres中系统目录的所有索引  

    REINDEX SYSTEM postgres
1条评论 顺序楼层

10:52 -11:06

26g sql 执行 14分钟

处理器 : Intel® Core™ i7-7700HQ CPU @ 2.80GHz × 8 

内存: 16 GiB

磁盘 :500.0 GB SSD

图形:GeForce 940MX/PCIe/SSE2

请先登录再回复