在CentOS上配置PostgreSQL的步骤如下:
更新系统包: 首先,确保你的系统包是最新的。
sudo yum update -y
安装PostgreSQL: 使用yum来安装PostgreSQL服务器和客户端工具。
sudo yum install -y postgresql-server postgresql-contrib
初始化数据库: 安装完成后,初始化数据库。
sudo /usr/pgsql-<version>/bin/postgresql-<version>-setup initdb
启动PostgreSQL服务: 启动PostgreSQL服务并设置为开机自启动。
sudo systemctl start postgresql
sudo systemctl enable postgresql
配置PostgreSQL:
编辑PostgreSQL的主要配置文件postgresql.conf
和身份验证文件pg_hba.conf
。
编辑postgresql.conf
文件:
sudo vi /etc/postgresql/<version>/main/postgresql.conf
修改以下参数(根据你的需求进行调整):
listen_addresses = '*' # 允许所有IP连接
port = 5432 # 设置监听端口
max_connections = 100 # 设置最大连接数
shared_buffers = 256MB # 设置共享缓冲区大小
work_mem = 64MB # 设置工作内存大小
maintenance_work_mem = 256MB # 设置维护工作内存大小
effective_cache_size = 768MB # 设置有效缓存大小
checkpoint_segments = 8 # 设置检查点段数
checkpoint_completion_target = 0.9 # 设置检查点完成目标
编辑pg_hba.conf
文件:
sudo vi /etc/postgresql/<version>/main/pg_hba.conf
在文件末尾添加以下行以允许来自所有IP的连接:
host all all 0.0.0.0/0 md5
重新加载配置文件: 重新加载PostgreSQL配置以应用更改。
sudo systemctl reload postgresql
创建超级用户和管理员: 登录到PostgreSQL并创建一个超级用户和管理员。
sudo -u postgres psql
CREATE ROLE admin WITH LOGIN PASSWORD 'admin_password';
ALTER ROLE admin SET client_encoding TO 'utf8';
ALTER ROLE admin SET default_transaction_isolation TO 'read committed';
ALTER ROLE admin SET timezone TO 'UTC';
GRANT ALL PRIVILEGES ON DATABASE postgres TO admin;
\q
创建数据库: 使用超级用户登录并创建一个新的数据库。
sudo -u postgres psql
CREATE DATABASE mydatabase;
\q
配置防火墙: 确保防火墙允许PostgreSQL端口(默认是5432)。
sudo firewall-cmd --permanent --add-service=postgresql
sudo firewall-cmd --reload
测试连接:
使用psql
客户端或其他数据库客户端工具来测试连接。
psql -h localhost -U admin -d mydatabase
输入密码后,如果成功连接,你将看到PostgreSQL的命令提示符。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: CentOS中Java编译时遇到权限问题怎么办