postgresql 临时表空间及注意事项

本文介绍了如何查看和管理PostgreSQL的临时表空间,包括创建、设置和优化。通过将临时表空间置于内存分区/dev/shm来提升性能,并展示了如何在空间不足时避免进程被kill,以及如何设置多个临时表空间以实现负载均衡。
摘要由CSDN通过智能技术生成
--查看数据库临时表空间位置
--temp_tablespaces是表空间名称的列表,当列表中有一个以上名称时, PostgreSQL 每次临时对象被创建时选择一个列表中的随机数;
--除了在一个事务中之外,先后创建临时对象放置在列表连续的表空间中。 
--如果列表中选定的元素是一个空字符串, PostgreSQL 会自动使用当前数据库的缺省表空间
 select * from pg_settings where name = 'temp_tablespaces';
 
 --可以把pg的临时表空间建立在/dev/shm下面提高性能
 -- 新建目录结构.
  mkdir /dev/shm/tbs_tmp
 
 -- 创建表空间
 create tablespace tbs_tmp location '/dev/shm/tbs_tmp';
 
 --如果把目录建在/dev/shm目录下,需要改变目录权限,默认为root用户
  chown postgres.postgres /dev/shm

--设置session级别的临时表空间 
set session temp_tablespaces='tbs_tmp';




 --创建测试表
 postgres=#  create temp table test2 (id int);
CREATE TABLE
postgres=# \d+ test2
                       Table "pg_temp_5.test2"
 Column |  Type   | Modifiers | Storage | Stats target | Description 
--------+---------+-----------+---------+--------------+-------------
 id     | integer |           | plain   |         
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值