温馨提示×

linux postgre如何安装配置

小樊
81
2024-12-30 14:31:58
栏目: 智能运维

在 Linux 上安装和配置 PostgreSQL(通常称为 Postgres)涉及几个步骤。以下是一个基本的指南,假设你使用的是基于 Debian 的系统(如 Ubuntu)或基于 RHEL 的系统(如 CentOS)。

安装 PostgreSQL

基于 Debian 的系统(如 Ubuntu)

  1. 更新包列表

    sudo apt update
    
  2. 安装 PostgreSQL

    sudo apt install postgresql postgresql-contrib
    
  3. 初始化数据库集群

    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
    
  4. 启动 PostgreSQL 服务

    sudo systemctl start postgresql
    
  5. 设置 PostgreSQL 服务开机自启动

    sudo systemctl enable postgresql
    

基于 RHEL 的系统(如 CentOS)

  1. 启用 PostgreSQL 仓库

    sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/pgdg-centos-10-1.noarch.rpm
    
  2. 安装 PostgreSQL

    sudo yum install -y postgresql-server postgresql-contrib
    
  3. 初始化数据库集群

    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
    
  4. 启动 PostgreSQL 服务

    sudo systemctl start postgresql
    
  5. 设置 PostgreSQL 服务开机自启动

    sudo systemctl enable postgresql
    

配置 PostgreSQL

  1. 编辑 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
    
  2. 配置 postgresql.conf

    • listen_addresses:允许连接的 IP 地址,例如 listen_addresses = '*' 允许所有 IP 连接。
    • port:PostgreSQL 监听的端口,默认是 5432。
    • max_connections:最大并发连接数。
    • shared_buffers:共享缓冲区大小。
    • work_mem:查询优化器的内存使用。
  3. 配置 pg_hba.conf

    • hostssl all all 0.0.0.0/0 md5:允许所有 IP 地址通过 SSL 连接。
    • host all all 127.0.0.1/32 md5:允许本地连接。
  4. 重启 PostgreSQL 服务

    sudo systemctl restart postgresql
    

验证安装

  1. 连接到 PostgreSQL

    psql -U postgres
    
  2. 创建数据库和表

    CREATE DATABASE mydb;
    \c mydb
    CREATE TABLE users (
        id SERIAL PRIMARY KEY,
        name VARCHAR(100) NOT NULL
    );
    
  3. 插入数据

    INSERT INTO users (name) VALUES ('John Doe');
    
  4. 查询数据

    SELECT * FROM users;
    

通过以上步骤,你应该能够在 Linux 上成功安装和配置 PostgreSQL。

0