Maj*_*imi 6 postgresql tablespaces
我对 PostgreSQL 中的表空间感到困惑。是不是类似于 LVM?我的意思是当磁盘已满时,我们可以添加另一个磁盘,然后格式化CREATE TABLESPACE tblspace LOCATION /media/disk2/data
吗?够了吗?或者我们应该手动使用ALTER
数据库、表或索引来利用它?
历史上,PostgreSQL 将表和索引存储在单个文件中。表空间是一种将多个表/索引放入同一目录中的单个文件或一组相关文件的方法。其他数据库管理系统使用类似的技术,尽管 tney 可以在一个文件中存储多个对象。在 PostgreSQL 上,表空间被实现为放置单个文件的目录,但文件仍然是每个数据库对象一个。
除非已分区,否则表必须驻留在单个表空间中,在这种情况下,每个分区必须驻留在给定的表空间上。在某些 DBMS 平台上,您可以按照您的建议将文件添加到表空间,但在 PostgreSQL 的情况下,表空间本质上只是一个用于将文件分组在一起的目录。在可能发生这种情况的系统上,由于单个磁盘可能包含 I/O 热点,因此可能导致 I/O 性能欠佳。或许,您最好在 RAID 卷中设置多个磁盘并将表空间放置在该卷上。
根据您的工作负载,您可能希望在每个卷上设置带有表空间的单个磁盘卷,并将数据库的各个部分分布在不同的卷上。最简单的情况是将数据库日志分离到一个单独的卷上,但出于各种原因,您可以将数据分布在多个卷上。
编辑:这是一个关于 PostgreSQL 表空间的链接。
归档时间: |
|
查看次数: |
4013 次 |
最近记录: |