postgresql 数据库的安装,配置,备份,恢复

一、 安装 PostgreSQL

1. 更新包管理器

bash 复制代码
sudo apt update
sudo apt upgrade -y

2. 安装 PostgreSQL

bash 复制代码
# 安装 PostgreSQL 和附加工具
sudo apt install postgresql postgresql-contrib -y

3. 检查安装状态和版本

bash 复制代码
# 查看版本
psql --version

# 检查服务状态
sudo systemctl status postgresql

二、配置 PostgreSQL

1. 切换到 postgres 用户

bash 复制代码
sudo -i -u postgres

2. 修改 postgres 用户密码

bash 复制代码
# 进入 PostgreSQL 命令行
psql

# 在 psql 中修改密码
ALTER USER postgres WITH PASSWORD 'your_strong_password';

# 退出 psql
\q

3. 创建数据库用户和数据库

bash 复制代码
# 仍在 postgres 用户下
psql
bash 复制代码
-- 创建新用户(替换为您的用户名)
CREATE USER trader WITH PASSWORD 'trader_password';

-- 创建数据库
CREATE DATABASE xtrader OWNER trader;

-- 赋予所有权限
GRANT ALL PRIVILEGES ON DATABASE xtrader TO trader;

-- 退出
\q

三、配置远程访问(可选)

如果需要从其他机器连接 PostgreSQL:

1. 修改配置文件

bash 复制代码
# 编辑 postgresql.conf
sudo nano /etc/postgresql/*/main/postgresql.conf

找到并修改:

bash 复制代码
# 监听所有地址
listen_addresses = '*'

# 或指定 IP
listen_addresses = 'localhost,192.168.1.100'

2. 修改 pg_hba.conf 允许远程连接

bash 复制代码
sudo nano /etc/postgresql/*/main/pg_hba.conf

添加以下行(在文件末尾):

bash 复制代码
# 允许所有 IPv4 连接(使用密码认证)
host    all             all             0.0.0.0/0               md5

# 或只允许特定网段
host    all             all             192.168.1.0/24          md5

3. 重启 PostgreSQL

bash 复制代码
sudo systemctl restart postgresql

四、常用 PostgreSQL 命令

服务管理

bash 复制代码
# 启动服务
sudo systemctl start postgresql

# 停止服务
sudo systemctl stop postgresql

# 重启服务
sudo systemctl restart postgresql

# 查看状态
sudo systemctl status postgresql

# 设置开机自启
sudo systemctl enable postgresql

数据库操作

bash 复制代码
# 列出所有数据库
sudo -u postgres psql -l

# 连接到数据库
sudo -u postgres psql -d xtrader

# 或者使用新创建的用户
psql -h localhost -U trader -d xtrader

常用 psql 命令

bash 复制代码
-- 查看所有数据库
\l

-- 切换到数据库
\c database_name

-- 查看所有表
\dt

-- 查看表结构
\d table_name

-- 列出所有用户
\du

-- 退出
\q

备份,恢复

数据库备份

bash 复制代码
​​​​​​​pg_dump -h localhost -U postgres databasename > C:\databasename.bak

数据库恢复

bash 复制代码
psql -h localhost -U postgres -d databasename <  C:\databasename.bak
相关推荐
迷枫7123 分钟前
SQL性能排查记录
java·数据库·sql
Elastic 中国社区官方博客7 小时前
搜索倍增器:推动收入、生产力和 AI 实现规模化
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
保定公民9 小时前
达梦数据库存储过程中的数组类型详解:基础数组与记录数组的差异化应用
数据库·达梦·存储过程·达梦数据库·dm8·dm
梦Arrebol10 小时前
Redis 内容及相关实验
数据库·redis
大模型码小白10 小时前
Spring AI Tool 实现自然语言操作 MySQL 数据库详解
服务器·开发语言·数据库·人工智能·python·mysql·spring
DBA大董12 小时前
TDengine3.0 DBA常用的运维命令和SQL2
运维·数据库·时序数据库·dba·tdengine
ManageEngineITSM12 小时前
什么是CMDB?配置管理数据库的定义、作用与建设方法一文讲清
大数据·数据库·人工智能·资产管理·变更管理
IvorySQL12 小时前
PostgreSQL 日报|PG19 外键快速路径隐患已修复(8 月 23 日)
数据库·postgresql
Elastic 中国社区官方博客13 小时前
OpenTelemetry Java 扩展:无需分叉 agent 即可自定义追踪
java·大数据·运维·开发语言·数据库·人工智能·elasticsearch