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
相关推荐
笃行35017 小时前
金仓数据库数据安全双防线:静态存储加密与传输加密实战
数据库
笃行35017 小时前
金仓数据库物理备份实战:sys_rman 全流程演练与误覆盖抢救
数据库
笃行35017 小时前
金仓数据库逻辑备份实战:从全库导出到 Schema 替换的完整闭环
数据库
SelectDB2 天前
阶跃星辰基于 SelectDB 构建 PB 级 Agent 可观测平台
大数据·数据库·aigc
这个DBA有点耶2 天前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构
掉头发的王富贵2 天前
【StarRocks】极限十分钟入门StarRocks
数据库·sql·mysql
Nturmoils2 天前
WHERE 条件别凭习惯写,常用查询先跑一遍
数据库
Databend3 天前
在 AWS 中国峰会逛了一天,我在 Databend 展台看到了 Agent 数据基础设施的新思路
数据库·人工智能·agent
ClouGence4 天前
Oracle 数据同步为什么会出现数据不一致?长事务是常被忽略的原因
数据库·后端·oracle