在 Linux 上安装和配置 PostgreSQL(通常称为 Postgres)涉及几个步骤。以下是一个基本的指南,假设你使用的是基于 Debian 的系统(如 Ubuntu)或基于 RHEL 的系统(如 CentOS)。
更新包列表:
sudo apt update
安装 PostgreSQL:
sudo apt install postgresql postgresql-contrib
初始化数据库集群:
sudo -u postgres psql
在 psql 提示符下,运行以下命令来初始化集群:
CREATE DATABASE postgres;
CREATE USER postgres WITH ENCRYPTED PASSWORD 'your_password';
ALTER ROLE postgres SET client_encoding TO 'utf8';
ALTER ROLE postgres SET default_transaction_isolation TO 'read committed';
ALTER ROLE postgres SET timezone TO 'UTC';
GRANT ALL PRIVILEGES ON DATABASE postgres TO postgres;
\q
启动 PostgreSQL 服务:
sudo systemctl start postgresql
设置 PostgreSQL 服务开机自启动:
sudo systemctl enable postgresql
启用 PostgreSQL 仓库:
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/pgdg-centos-10-1.noarch.rpm
安装 PostgreSQL:
sudo yum install -y postgresql-server postgresql-contrib
初始化数据库集群:
sudo -u postgres psql
在 psql 提示符下,运行以下命令来初始化集群:
CREATE DATABASE postgres;
CREATE USER postgres WITH ENCRYPTED PASSWORD 'your_password';
ALTER ROLE postgres SET client_encoding TO 'utf8';
ALTER ROLE postgres SET default_transaction_isolation TO 'read committed';
ALTER ROLE postgres SET timezone TO 'UTC';
GRANT ALL PRIVILEGES ON DATABASE postgres TO postgres;
\q
启动 PostgreSQL 服务:
sudo systemctl start postgresql
设置 PostgreSQL 服务开机自启动:
sudo systemctl enable postgresql
编辑 PostgreSQL 配置文件:
/etc/postgresql/<version>/main/postgresql.conf
/etc/postgresql/<version>/main/pg_hba.conf
/etc/postgresql/<version>/main/storage.conf
例如,对于 PostgreSQL 13:
sudo nano /etc/postgresql/13/main/postgresql.conf
配置 postgresql.conf
:
listen_addresses
:允许连接的 IP 地址,例如 listen_addresses = '*'
允许所有 IP 连接。port
:PostgreSQL 监听的端口,默认是 5432。max_connections
:最大并发连接数。shared_buffers
:共享缓冲区大小。work_mem
:查询优化器的内存使用。配置 pg_hba.conf
:
hostssl all all 0.0.0.0/0 md5
:允许所有 IP 地址通过 SSL 连接。host all all 127.0.0.1/32 md5
:允许本地连接。重启 PostgreSQL 服务:
sudo systemctl restart postgresql
连接到 PostgreSQL:
psql -U postgres
创建数据库和表:
CREATE DATABASE mydb;
\c mydb
CREATE TABLE users (
id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL
);
插入数据:
INSERT INTO users (name) VALUES ('John Doe');
查询数据:
SELECT * FROM users;
通过以上步骤,你应该能够在 Linux 上成功安装和配置 PostgreSQL。