在CentOS上管理PostgreSQL的磁盘空间可以通过多种方法实现,以下是一些关键步骤和技巧:
df -h
命令查看磁盘空间使用情况。du
命令查看特定目录的磁盘使用情况,例如:du -sh /var/log/postgresql/*
du -sh /tmp/*
du -sh /var/lib/pgsql/data/*
/var/log/postgresql/
和 /var/lib/pgsql/data/
目录中。可以使用以下命令删除或归档超过30天的日志文件:find /var/log/postgresql/ -type f -mtime +30 -name "*.log" -exec rm -f {} \;
find /var/lib/pgsql/data/ -type f -mtime +30 -name "*.log" -exec rm -f {} \;
/tmp/
和 /var/lib/pgsql/data/
目录中。可以使用以下命令删除或归档超过7天的临时文件:find /tmp/ -type f -mtime +7 -exec rm -f {} \;
find /var/lib/pgsql/data/ -type f -mtime +7 -exec rm -f {} \;
/var/lib/pgsql/backups/
目录中。可以检查备份文件的大小和数量,删除或归档超过7天的备份文件:find /var/lib/pgsql/backups/ -type f -mtime -7 -exec rm -f {} \;
fdisk
重新扫描磁盘分区表。parted
或 fdisk
对磁盘进行分区。resize2fs
调整文件系统大小。postgresql.conf
中调整参数,如 shared_buffers
、work_mem
、maintenance_work_mem
等。CREATE TABLESPACE my_ts LOCATION '/mnt/psql_ts';
CREATE TABLE mytable (
id SERIAL PRIMARY KEY,
name VARCHAR(100)
) TABLESPACE my_ts;
DROP TABLESPACE mytablespace;
SELECT pg_size_pretty(pg_database_size('dbname'));
SELECT table_schema, table_name AS table_full_name, pg_size_pretty(pg_total_relation_size(table_schema || '.' || table_name));
通过上述方法,可以有效地管理和优化CentOS上PostgreSQL的磁盘空间,确保数据库的高效运行。