--查看数据库临时表空间位置
--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 |
postgresql 临时表空间及注意事项
最新推荐文章于 2024-08-13 16:07:53 发布
本文介绍了如何查看和管理PostgreSQL的临时表空间,包括创建、设置和优化。通过将临时表空间置于内存分区/dev/shm来提升性能,并展示了如何在空间不足时避免进程被kill,以及如何设置多个临时表空间以实现负载均衡。
摘要由CSDN通过智能技术生成