在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的命令提示符。