Debian管理PostgreSQL数据库主要通过命令行工具和配置文件操作,核心步骤如下:
sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository 'deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
sudo apt install -y postgresql postgresql-contrib # 安装最新版
# 或指定版本(如PostgreSQL 15):
# sudo apt install -y postgresql-15 postgresql-contrib-15
sudo systemctl start postgresql
sudo systemctl enable postgresql
访问数据库:
切换到postgres超级用户,进入psql命令行:
sudo -u postgres psql
或直接以指定用户连接:
psql -U your_user -d your_database
创建数据库和用户:
-- 创建数据库
CREATE DATABASE mydb;
-- 创建用户并授权
CREATE USER myuser WITH PASSWORD 'mypassword';
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
\q # 退出
修改配置文件:
/etc/postgresql/<版本>/main/postgresql.conf,设置listen_addresses = '*'以允许远程连接。/etc/postgresql/<版本>/main/pg_hba.conf,添加规则(如允许特定IP访问):host all all 0.0.0.0/0 scram-sha-256
然后重启服务:sudo systemctl restart postgresql
防火墙设置:
若需远程访问,开放5432端口(默认):
sudo ufw allow 5432/tcp
sudo ufw reload
pg_dump -U your_user -d your_database > backup.sql
psql -U your_user -d your_database < backup.sql
sudo systemctl status postgresql
pg_isready -h localhost -p 5432 -U your_user
sudo tail -f /var/log/postgresql/postgresql-<版本>-main.log
| 操作 | 命令 |
|---|---|
| 进入数据库 | sudo -u postgres psql 或 psql -U user -d db |
| 创建数据库 | CREATE DATABASE dbname; |
| 删除数据库 | DROP DATABASE dbname; |
| 备份数据库 | pg_dump -U user -d dbname > backup.sql |
| 恢复数据库 | psql -U user -d dbname < backup.sql |
| 重启服务 | sudo systemctl restart postgresql |
以上操作基于Debian默认的postgresql包管理,如需更高级功能(如集群、复制),可参考PostgreSQL官方文档。