这是一篇 PostgreSQL 13 在 Linux 上安装的笔记,便于日后查询使用。数据库配置于 Debian 10 (Buster) 上,在配置的过程中,你可以参考官方文档。
配置步骤
安装数据库
执行下面代码前,请确保可以执行 lsb-release
。如果不存在,使用 apt
安装。
1 | sudo apt install lsb-release |
根据官方文档,执行:
1 | # Create the file repository configuration: |
配置数据库
PostgreSQL 做了一些默认的安全策略,只允许 lcoalhost
访问数据库。这些配置文件都位于 /etc/postgresql/13/main/
中。
在调试阶段可以做一些修改,或使用 SSH 代理保证数据库的安全性。
-
pg_hba.conf
添加行:
1
host all all 0.0.0.0/0 md5
-
postgresql.conf
修改行:
1
2listen_addresses = "*" # Use '*' for all
port = 1000 # 修改默认端口,建议大于 10000
修改默认密码
使用 postgres 账户执行 psql
1 | su postgres |
由于在上一节中修改了 postgresql 的端口,需要使用 -p 参数。如
1 | psql -p 1000 |
正常输出如下:
1 | psql (12.4 (Debian 12.4-1.pgdg90+1)) |
查看数据库:
1 | postgres=# \l |
查看数据库用户:
1 | postgres=# \du |
修改默认用户密码:
1 | postgres=# alter user postgres with password 'password'; |
完成后用 systemctl 重启 postgresql 既可。然后使用 DataGrip 连接数据库。为了安全考虑,建议日常使用普通用户操作。
备份
一次性备份
由参考资料4,通过以下命令一次性备份数据库:
1 | pg_dump –h localhost -p 5432 -U postgres -c -C –f kite-db.sql db_name |
恢复:
1 | psql –h 127.0.0.1 -p 5432 -U postgres –f db_bak.sql |
其他
修改数据库名称
1 | ALTER DATABASE old_name RENAME TO new_name; |
统计数据库大小
1 | select pg_database_size('db_name'); |
优化数据库存储
1 | vacuum full; |
参考资料
[1] 如何在 Ubuntu 上安装和配置 PostgreSQL, Linux 中国
[2] Postgresql 配置文件详解, 博客园, Captains-Felix
[3] Postgresql 官方文档
[4] Postgresql的三种备份方式, CSDN 博客, 江天水一泓
本文改自 《上应小风筝-数据库配置文档》,原文是基于 PostgreSQL 12 版本的。作者就是我。