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
相关推荐
Hrain-AI1 小时前
多 Agent 并行不打架:worktree 隔离与反馈回流落地(附脚本)
网络·数据库·人工智能·架构
净水深流2 小时前
中央厨房冷链技术实践:多温区改造、WMS落地与IoT温控架构
大数据·数据库·人工智能·冷库冷链
l1t2 小时前
测试DuckDB 2.1的match_recognize模式匹配语句
数据库·duckdb
IpdataCloud3 小时前
AI智能体调用工具怎么核验来源IP?归属地、网络类型与代理风险识别(含Python代码)
数据库·python·tcp/ip
曹牧3 小时前
Java:SQL 注入漏洞
数据库
程序员JerrySUN4 小时前
Jetson Edge AI 实战01:Nano、Xavier、Orin 怎么选?Jetson 硬件选型详解【视频讲解】
java·数据库·redis·安全·mybatis
oradh4 小时前
Oracle Undo问题总结(ORA-600 [4xxx] 系列错误)
数据库·oracle
达梦数据5 小时前
DMDRS辅助表生成规则与作用
数据库·oracle
‎ദ്ദിᵔ.˛.ᵔ₎5 小时前
MySQL 表约束
数据库·mysql
Doris__HE5 小时前
【元脑服务器NF5476G7-NF5476M7技术规格分享】
运维·服务器·网络·数据库·性能优化