在CentOS上使用PostgreSQL扩展功能可以增强数据库的功能和性能。以下是一个使用指南,涵盖了从安装到配置扩展的步骤。
首先,确保你已经安装了PostgreSQL。你可以使用以下命令来安装:
sudo yum install postgresql-server postgresql-contrib
安装完成后,初始化数据库集群:
sudo postgresql-setup --initdb
启动PostgreSQL服务并设置为开机自启:
sudo systemctl start postgresql
sudo systemctl enable postgresql
PostgreSQL支持许多扩展,可以通过yum
或dnf
来安装。例如,安装pg_stat_statements
扩展:
sudo yum install postgresql12-contrib
然后在PostgreSQL中启用扩展:
CREATE EXTENSION pg_stat_statements;
如果需要安装特定的扩展,可能需要手动下载并安装。例如,安装PostGIS
扩展:
安装必要的依赖包:
sudo yum install gcc gcc-c readline-devel zlib-devel make
下载并解压PostgreSQL源码:
wget https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpms
sudo rpm -ivh pgdg-redhat-repo-latest.noarch.rpm
配置、编译并安装PostgreSQL:
./configure --prefix=/usr/local/pgsql
make
sudo make install
初始化数据库并创建必要的目录:
sudo /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
sudo chown postgres:postgres /usr/local/pgsql/data
安装PostGIS
及其依赖:
sudo yum install geos-3.10.2 gdal-3.4.1 proj-8.2.1 postgis-3.2.1
配置并启动PostgreSQL:
sudo /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start
启用PostGIS
扩展:
CREATE EXTENSION postgis;
安装并启用扩展后,可以通过查询pg_available_extensions
视图来验证扩展是否已经启用:
SELECT name FROM pg_available_extensions;
可以通过编辑postgresql.conf
和pg_hba.conf
文件来定制PostgreSQL的行为。例如,编辑postgresql.conf
以更改监听地址:
sudo vi /var/lib/pgsql/data/postgresql.conf
找到并修改以下行:
listen_addresses = '*'
然后重启PostgreSQL服务:
sudo systemctl restart postgresql
为了更好地了解PostgreSQL的运行状态,可以配置监控和日志记录。编辑postgresql.conf
以配置日志记录:
sudo vi /var/lib/pgsql/data/postgresql.conf
找到并修改以下行:
log_statement = 'all'
log_duration = on
然后重启PostgreSQL服务:
sudo systemctl restart postgresql
确保你的PostgreSQL实例是安全的。你可以使用以下命令来设置密码和配置防火墙规则:
sudo passwd postgres
sudo firewall-cmd --permanent --zone=public --add-service=postgresql
sudo firewall-cmd --reload