PostgreSQL 简单使用

pclin
67
2024-06-17

PostgreSQL 是一个功能强大的开源关系型数据库管理系统(RDBMS),广泛用于各种规模的应用程序。以下是一些关于如何使用 PostgreSQL 的基本指南:

安装 PostgreSQL

在 Linux 上安装

  1. Debian/Ubuntu:

    sudo apt update
    sudo apt install postgresql postgresql-contrib
    
  2. CentOS/RHEL:

    sudo yum install postgresql-server postgresql-contrib
    sudo postgresql-setup initdb
    sudo systemctl start postgresql
    sudo systemctl enable postgresql
    

在 macOS 上安装

使用 Homebrew:

brew install postgresql
brew services start postgresql

在 Windows 上安装

  1. 下载安装程序:PostgreSQL 下载页面

  2. 运行安装程序并按照提示进行安装。

基本操作

启动和停止 PostgreSQL 服务

  • Linux:

    sudo systemctl start postgresql
    sudo systemctl stop postgresql
    sudo systemctl restart postgresql
    
  • macOS:

    brew services start postgresql
    brew services stop postgresql
    
  • Windows:
    使用服务管理器或命令行:

    net start postgresql-x64-13
    net stop postgresql-x64-13
    

连接到 PostgreSQL

  1. 使用 psql 命令行工具:

    sudo -u postgres psql
    
  2. 使用 psql 连接到特定数据库:

    psql -U username -d database_name -h host -p port
    

创建数据库和用户

  1. 创建数据库:

    CREATE DATABASE mydatabase;
    
  2. 创建用户:

    CREATE USER myuser WITH PASSWORD 'mypassword';
    
  3. 授予权限:

    GRANT ALL PRIVILEGES ON DATABASE mydatabase TO myuser;
    

基本 SQL 操作

  1. 创建表:

    CREATE TABLE users (
        id SERIAL PRIMARY KEY,
        name VARCHAR(100),
        email VARCHAR(100) UNIQUE NOT NULL
    );
    
  2. 插入数据:

    INSERT INTO users (name, email) VALUES ('John Doe', 'john@example.com');
    
  3. 查询数据:

    SELECT * FROM users;
    
  4. 更新数据:

    UPDATE users SET name = 'Jane Doe' WHERE id = 1;
    
  5. 删除数据:

    DELETE FROM users WHERE id = 1;
    

高级功能

使用索引

CREATE INDEX idx_user_email ON users (email);

使用视图

CREATE VIEW active_users AS
SELECT * FROM users WHERE active = true;

使用存储过程

CREATE OR REPLACE FUNCTION get_user_by_id(user_id INT)
RETURNS TABLE(id INT, name VARCHAR, email VARCHAR) AS $$
BEGIN
    RETURN QUERY SELECT * FROM users WHERE id = user_id;
END;
$$ LANGUAGE plpgsql;

备份和恢复

备份数据库

pg_dump -U username -d database_name -f backup.sql

恢复数据库

psql -U username -d database_name -f backup.sql

监控和日志

查看日志

  • Linux:

    tail -f /var/log/postgresql/postgresql-13-main.log
    
  • macOS:

    tail -f /usr/local/var/log/postgres.log
    
  • Windows:
    日志文件通常位于 PostgreSQL 安装目录的 data 文件夹中。

参考资料

通过这些基本操作和高级功能,你可以开始使用 PostgreSQL 来管理和操作你的数据库。

动物装饰