http://my.oschina.net/u/2426299/blog/487913
1. 维护前
postgres=# \d+ test
Table
"public.test"
Column | Type | Modifiers
| Storage | Stats target | Description
--------+-----------------------------+----------------------------------------------------+---------+--------------+-------------
id | integer | not null default
nextval('test_id_seq'::regclass) | plain | |
val | timestamp without time zone | default now()
| plain | |
Indexes:
"test_pkey" PRIMARY KEY, btree (id)
2. 创建新的unique index
postgres=# CREATE UNIQUE INDEX CONCURRENTLY ON test USING btree(id);
CREATE INDEX
3. 替换主键
postgres=# BEGIN;
BEGIN
postgres=# ALTER TABLE test DROP CONSTRAINT test_pkey;
ALTER TABLE
postgres=# ALTER TABLE test ADD CONSTRAINT test_id_idx PRIMARY KEY USING
INDEX test_id_idx;
ALTER TABLE
postgres=# COMMIT;
COMMIT
4. 维护后
postgres=# \d+ test
Table
"public.test"
Column | Type | Modifiers
| Storage | Stats target | Description
--------+-----------------------------+----------------------------------------------------+---------+--------------+-------------
id | integer | not null default
nextval('test_id_seq'::regclass) | plain | |
val | timestamp without time zone | default now()
| plain | |
Indexes:
"test_id_idx" PRIMARY KEY, btree (id)
这样的好处是,可以在白天负载低的时候维护主键
分享到:
相关推荐
关于postgreSQL复合主键的一些用法,希望对大家有用。
PostgreSQL 12.2 安装与使用 PostgreSQL 是一种功能强大且广泛应用的开源关系数据库管理系统,本文档旨在为初学者提供一个详细的 PostgreSQL 12.2 安装与使用指南。 创建用户与环境配置 在安装 PostgreSQL 之前,...
本文将详细介绍在Linux环境下安装和使用PostgreSQL 8.2.14的过程。 首先,安装PostgreSQL在Linux上的步骤如下: 1. **下载RPM包**: 你需要下载四个RPM包,分别是: - `compat-postgresql-libs-4-1PGDG.rhel5.i...
TreeDMS数据库管理系统使用JAVA开发,实现基于WEB方式对 PostgreSQL 数据库进行维护管理操作。 功能包括:数据库的展示,库表的展示,表字段结构的展示, SQL语句的在线编辑批量执行,表结构的在线设计维护, 数据的...
PostgerSQL的jar包版本:postgresql-9.3-1102-jdbc4.jar mybatis-generator版本:mybatis-generator-core-1.3.7.jar 关于逆向工程自动生成dao层代码的功能,网上很多介绍的都是mysql版本的,而且介绍的都是在开发...
PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (数据库维护 数据库维护 数据库维护 ) 56 一、恢复磁盘空间: 一、恢复磁盘空间: 一、恢复磁盘空间: 一、恢复磁盘空间: . 56 二、更新规划器统计: ...
本教程将详细介绍如何在Java项目中使用Druid数据连接池连接PostgreSQL数据库,以实现一个简单的测试环境。 首先,我们需要了解Druid数据连接池的基本概念。Druid提供了一种高效、灵活的数据库连接管理方式,它可以...
登录数据库是为了对 PostgreSQL 数据库进行管理和维护。使用 psql 命令可以连接到 PostgreSQL 数据库,并执行相关的数据库操作。 数据库备份和恢复 数据库备份和恢复是 PostgreSQL 数据库管理的重要步骤。使用 pg_...
pg_bloat_check pg_bloat_check是一个脚本,用于为PostgreSQL表和/或索引提供膨胀报告。 它至少需要Python 2.6中和pgstattuple的contrib模块- 注意,在非常大的数据库或具有许多表的数据库上,使用pgstattuple检查...
Postgresql-XL使用总结 Postgresql-XL是基于Postgres-XC的开源数据库集群,具有可横向扩展的特点。本文将对Postgresql-XL的使用总结进行详细的知识点解析。 1. Postgresql-XL概述 Postgresql-XL是一个基于...
postgresql-42.5.0.jar是Java上的一个驱动程序,用于连接PostgreSQL数据库并与其进行...它是经过定期更新和改进的,以确保其与最新版本的PostgreSQL数据库兼容,同时提供了丰富的API和文档,方便程序员进行开发和维护。
本文将详细介绍如何使用提供的 PostgreSQL-10 安装包进行安装,以及在安装过程中可能遇到的关键知识点。 **一、PostgreSQL 10 的特性** 1. **并行查询优化**:PostgreSQL 10 引入了并行查询功能,使得大型表的扫描...
3. 自动化维护:使用`VACUUM`和`ANALYZE`命令进行数据库维护,以保持良好的查询性能。自动化的`autovacuum`进程可以在后台执行这些任务。 三、后台编程 1. PL/pgSQL:PostgreSQL内置的事务级过程语言,用于编写...
总的来说,"postgresql10数据库生成文档工具"是一个方便的数据库管理辅助工具,它能够帮助开发者和DBA高效地管理和维护PostgreSQL 10数据库,同时提供清晰的数据库结构文档,便于团队协作和项目管理。通过合理使用...
pgsql-膨胀-估计用于测量 PostgreSQL 的 btree 索引和表中统计膨胀的查询。 应考虑三种不同类型的未使用空间: 对齐填充:根据类型,PostgreSQL 会向您的字段添加一些填充以在行中正确对齐它们。 这与一些 CPU 操作...
使用 Matlab 连接 PostgreSQL 数据库需要使用 database 函数。该函数的语法为:connection = database(database_name, database_user, user_password, 'Vendor', 'PostGreSQL');其中,database_name 是数据库的名称...
postgresql一直使用的稳定版
这个文档可能涵盖了安装、配置、使用以及管理PostgreSQL数据库的各种知识。 1. **安装与配置**:文档会详细介绍如何在Windows 8环境下安装PostgreSQL 8.2.3,包括设置环境变量、配置数据目录、启动和停止数据库服务...
使用 Bucardo 搭建 PostgreSQL 数据库双主同步 本文将指导您使用 Bucardo 搭建 PostgreSQL 数据库双主同步,涵盖 Bucardo 的介绍、搭建前准备、安装 Perl 和 PostgreSQL、安装依赖包等方面的知识点。 一、Bucardo ...