18.6. ��ռ�

PostgreSQL ��ı�ռ��������ݿ����Ա���ļ�ϵͳ�ﶨ����Щ�������ݿ������ļ���ŵ�λ�á� һ�������˱�ռ䣬��ô�Ϳ����ڴ������ݿ�����ʱ����������

ͨ��ʹ�ñ�ռ䣬����Ա���Կ���һ�� PostgreSQL ��װ�Ĵ��̲��֡� ��ô�������������ô������ȣ������ʼ����Ⱥ���ڵķ������߾��ù��˿ռ䣬���ֲ����߼�����չ���߱��ʲô������ ��ô��ռ������һ����ͬ�ķ����ϴ�����ʹ�ã�ֱ��ϵͳ�����������á�

�ڶ�����ռ��������Ա�������ݿ�����ʹ��ģʽ��������λ�ã��Ӷ��Ż����ܡ� ���磬һ����Ƶ��ʹ�õ��������Է��ڷdz���ģ����ҷdz��ɿ��Ĵ����ϣ�����һ�ַdz���Ĺ�̬�豸�� ��ͬʱ��һ���洢�鵵�����ݣ�����ʹ�õģ����߶�����Ҫ�󲻸ߵı���Դ洢��һ��û��ô���󣬱Ƚ����Ĵ���ϵͳ�ϡ�

Ҫ����һ����ռ䣬ʹ�� CREATE TABLESPACE ��� ���磺

CREATE TABLESPACE fastspace LOCATION '/mnt/sda1/postgresql/data';

���λ�ñ�����һ�����еĿ�Ŀ¼���������� PostgreSQL ϵͳ�û��� ��������ڸñ�ռ䴴���Ķ��󶼽�����������Ŀ¼�µ��ļ��

ע��: ͨ����һ���߼��ļ�ϵͳ�Ͻ��������ռ�û��ʲô���壬��Ϊ���޷�����һ���߼��ļ�ϵͳ��IJ�ͬ�ļ���λ�á� ������PostgreSQL �������ⷽ����κ�ǿ�ƣ�������ʵ���ϲ���֪�����ϵͳ�ϵ��ļ�ϵͳ�߽硣 ��ֻ�����������ʹ�õ�Ŀ¼��洢�ļ���

������ռ䱾����������ݿⳬ���û���ݽ��У���������֮����Ϳ���������ͨ���ݿ��û��������ˡ� Ҫ��������飬�ڱ�ռ��ϸ���Щ�û����� CREATE Ȩ�ޡ�

���������������ݿⶼ���Է����ض��ı�ռ����Ҫ��ô���Ļ��� �ڸ�����ռ����� CREATE Ȩ�޵��û�����ѱ�ռ��������һ����������ʽ���ݸ���ص���� ���磬����������ڱ�ռ� space1 �ϴ���һ����

CREATE TABLE foo(i int) TABLESPACE space1;

���⣬������ʹ�� default_tablespace ������

SET default_tablespace = space1;
CREATE TABLE foo(i int);

ֻҪ default_tablespace ����Ϊ���ǿ��ִ����κ����������� ��ô����Ϊû����ȷʹ�� TABLESPACE �Ӿ�� CREATE TABLE �� CREATE INDEX �����ṩһ�������� TABLESPACE �Ӿ䡣

��һ�����ݿ�������ı�ռ����ڴ洢�����ݿ��ϵͳ���Լ��κ�ʹ�ø����ݿ�ķ��������̴�������ʱ�ļ��� ���⣬����ڴ������ݿ������û�и��� TABLESPACE �Ӿ䣨��������ȷ�Ļ���ͨ�� default_tablespace���� ��ô�����ڸ����ݿ��ﴴ����Щ�κζ���ʹ�õ�ȱʡ��ռ䡣 ����������ݿ�ʱû�и�������һ����ռ䣬��ô��ʹ������������ģ�����ݿ���ͬ�ı�ռ䡣

initdb �Զ�����������ռ䡣pg_global ��ռ����ڹ����ϵͳ�� pg_default �� template1 �� template0 ���ݿ��ȱʡ��ռ� ����ˣ������ռ�Ҳ�����κ��������ݿ��ȱʡ��ռ䣬������ CREATE DATABASE ��ʱ��ʹ������ȷ�� TABLESPACE �Ӿ䡣��

�����˱�ռ�֮�����Ϳ��������κ����ݿ⣬ֻҪ������û����㹻Ȩ�ޡ� ����ζ�ų������ǰ�ʹ�������ռ���������ݿ�������ж���ɾ�������������Dz���ɾ���ñ�ռ䡣

Ҫɾ��һ���յı�ռ䣬ʹ�� DROP TABLESPACE ���

Ҫ�ж�һ�����еı�ռ䣬���ϵͳ�� pg_tablespace������

SELECT spcname FROM pg_tablespace;

psql ����� \db Ԫ����Ҳ���������г����б�ռ䡣

Ϊ�˼򻯱�ռ��ʵ�֣�PostgreSQL ʹ���˴����������ӡ� �����ζ�ű�ռ�ֻ����֧�ַ������ӵ�ϵͳ��ʹ�á�

Ŀ¼ $PGDATA/pg_tblspc ����ָ��Ⱥ�ﶨ���ÿ�������õı�ռ�ķ������ӡ� �������Dz����飬�������ǻ��ǿ���ͨ���ֹ��ض�����Щ������������ռ�IJ��֡� �������棺�� postmaster ���е�ʱ��Ҫ��ô�ɣ����ң��������� postmaster ֮�� ���� pg_tablespace ������ʾ�µ�λ�á�������㲻��ô����pg_dump ��������ʾ�ɵı�ռ�λ�á���