# 前言在 PostgreSQL 中,有如下场景我们需要进行重建索引1. 索引膨胀。2. 当修改了某些参数,为了使之完全生效,需要进行 reindex 操作,如 fillfactor。3. 索引损坏。4. 在线创建索引失败,索引状态为 "invaild... PostgreSQL 使用如下步骤进行 reindex concurrently 操作 [2]:1. 在表上持有 SHARE UPDATE EXCLUSIVE 锁,创建新的索引,以_ccnew 结尾。设置新的索引 pg_index.indisready = TRUE,pg_index 中字段说明请参考 [3]...
# 前言PostgreSQL 中可以使用角色来控制访问数据库对象的权限,在 PostgreSQL 中,角色在一定程度上可以等同为数据库用户或数据库用户组,同时 PostgreSQL 还允许将一个角色的权限赋予另外一个角色。本章内容将介绍如何查询用户所继承的权限。# 问题复现查看 auser 有具有对象级别的权限,可以看到用户 auser 具有表 t1 的 insert,update,delete,select 权限:````undefinedpostgres=# select table_catalog,table_schema,table_...
# 问题描述在日常管理 PostgreSQL,有时候我们需要对不需要使用的用户进行删除,有可能会出现删除不了的情况,报错如下:```sqlrudonx=# drop user rudonx1;ERROR: role "rudonx1" cannot be dropped because s... pg_catalog.pg_class cls,pg_catalog.pg_namespace nsp,pg_user puWHEREnsp.nspname IN ( 'public' )AND cls.relnamespace = nsp.oidand pu.usesysid=cls.relownerAND cls.relkind IN ('r','v') and pu.us...
# 问题描述在日常管理 PostgreSQL,有时候我们需要对不需要使用的用户进行删除,有可能会出现删除不了的情况,报错如下:```sqlrudonx=# drop user rudonx1;ERROR: role "rudonx1" cannot be dropped because som... pg_catalog.pg_class cls,pg_catalog.pg_namespace nsp,pg_user puWHEREnsp.nspname IN ( 'public' )AND cls.relnamespace = nsp.oidand pu.usesysid=cls.relownerAND cls.relkind IN ('r','v') and pu.us...
# 前言对于数据库来说,用户以及权限管理非常重要,让不用的用户具有不同的权限集合,将会显著的避免误操作。本章内容将会介绍 PostgreSQL 中的用户和权限管理机制。# 用户和角色通常来说,角色是一系列权限的集... 表的查询权限,可以使用如下语句:```sqlrudonx=# grant select on all tables in schema public to rudonx1;GRANT```4.查看特定用户所具有的表级权限```rudonx=# select table_catalog,table_schema,table_...
# 前言对于数据库来说,用户以及权限管理非常重要,让不用的用户具有不同的权限集合,将会显著的避免误操作。本章内容将会介绍 PostgreSQL 中的用户和权限管理机制。# 用户和角色通常来说,角色是一系列权限的集合,... 表的查询权限,可以使用如下语句:```sqlrudonx=# grant select on all tables in schema public to rudonx1;GRANT```4.查看特定用户所具有的表级权限````undefinedrudonx=# select table_catalog,table_sch...
前言 pg_dump 是 PostgreSQL 原生的备份工具。pg_dump 生成的备份文件可以是一个 SQL 脚本文件,也可以是一个归档文件。 SQL脚本文件是纯文本格式的文件,它包含许多SQL命令,执行这些SQL命令可以重建该数据库并将之恢... pg_dump -h postgres76be41028654***.rds-pg.ivolces.com -Ulxb dumptest > /tmp/dumptest.sqlPassword: 备份结束后,备份内容在 dumptest.sql 中。查看文件内容如下(文件中省略部分内容): [root@iv-ebgymdaodpe2t...
PostgreSQL是一个功能非常强大、开源的对象关系型数据库管理系统,本文介绍如何在Linux实例上搭建并使用PostgreSQL。 PostgreSQL可靠性高,支持NoSQL数据类型(JSON/XML/hstore)、GIS地理信息处理,适用于位置应用系统... pgdg-redhat-repo-latest.noarch.rpm 执行以下命令,安装客户端包和服务器包。 yum -y install postgresql11yum -y install postgresql11-server 执行以下命令,初始化PostgreSQL。/usr/pgsql-11/bin/postgresql-11-...
# 前言在 PostgreSQL 中,对于参数的生效时机有如下几种类型:1. postmaster:需要重启数据库才可以生效。2. superuser-backend:该类型的参数可以由超级用户来改变,可以在 postgresql.conf 中对这些设置进行更改,... postgres=# select distinct(context) from pg_settings;```# 用户场景用户想设置参数 max_parallel_workers 和 max_parallel_workers_per_gather 来改善特定分析场景下,特定应用程序的查询效率,但是不想全局生...
postgres=# show timezone; # 查看每一个数据库的单独配置postgres=# select a.setdatabase, b.datname,a.setconfig from pg_db_role_setting a,pg_database b where a.setdatabase = b.oid; setdatabase | ... pg_size_pretty(pg_total_relation_size(relid)) as size from pg_stat_user_tables;````## 3. 数据库字符集信息````undefinedSELECT d.datname as "Name", pg_catalog.pg_get_userbyid(d.datdba) as...
# 问题描述如何查看 PostgreSQL 库表对应的物理数据文件?# 问题分析在默认表空间的 base 目录下有很多子目录,这些子目录的名称与相应数据库的 oid 相同。通过 SQL 查询 系统表 pg_class 中的 oid 字段 和 系统表... datname from pg_database; oid | datname -------+--------------- 14187 | postgres 16384 | tmp_database1 1 | template1 14186 | template0 16651 | mytestdb01 16817 | charp6 16650 |...
## 简介[PostgreSQL](https://www.postgresql.org/) 是一款高级的企业级开源关系数据库,支持 SQL(关系型)和 JSON(非关系型)查询。它是一个高度稳定的数据库管理系统,依托 20 多年的社区发展,造就了其高水平的故障... 火山引擎访问地址:https://mirrors.ivolces.com/postgresql/- 公网访问地址:https://mirrors.volces.com/postgresql/## 配置方法#### Debian编辑/etc/apt/sources.list.d/pgdg.list```deb http://mir...
pg_stat_kcache 是一款对 PostgreSQL 在运行过程中对文件系统读写信息进行统计的插件。 实现原理pg_stat_kcache 是在查询执行前后,分别调用 Linux 接口 getrusage 获取进程相关资源信息,最后计算前后差值,即为当前... pg_stat_kcache 加入 shared_preload_libraries 列表中。 已经安装插件。 已导入数据。 使用插件开启读写,并查询资源使用情况。 sql sysbench --test=./tests/include/oltp_legacy/oltp.lua --db-driver=pgsql ...