Ubuntu 18.04 postgresql 12 安装和卸载
创建/etc/apt/sources.list.d/pgdg.list,并添加以下仓库源
deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main
导入存储库签名密钥,并更新包列表
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get upgrade
安装postgresql-12
sudo apt-get install postgresql-12 pgadmin4
2、修改postgres数据库用户的密码为123456
打开客户端工具(psql)
sudo -u postgres psql
- 其中,sudo -u postgres 是使用postgres 用户登录的意思
- PostgreSQL数据默认会创建一个postgres的数据库用户作为数据库的管理员,密码是随机的
postgres=# ALTER USER postgres WITH PASSWORD '123456';
- postgres=#为PostgreSQL下的命令提示符,--注意最后的分号;
3、退出PostgreSQL psql客户端
postgres=# \q
3.创建数据库用户dbuser(刚才创建的是Linux系统用户),并设置密码。
CREATE USER odoo WITH PASSWORD '123456';
4.创建用户数据库,这里为exampledb,并指定所有者为dbuser。
CREATE DATABASE exampledb OWNER odoo;
5.将exampledb数据库的所有权限都赋予dbuser,否则dbuser只能登录控制台,没有任何数据库操作权限。
GRANT ALL PRIVILEGES ON DATABASE exampledb to odoo;
6使用\q命令退出控制台(也可以直接按ctrl+D)。
1. 修改postgresql.conf
postgresql.conf存放位置在/etc/postgresql/9.x/main下,这里的x取决于你安装PostgreSQL的版本号,编辑或添加下面一行,使PostgreSQL可以接受来自任意IP的连接请求。
listen_addresses = '*'
- 1
2. 修改pg_hba.conf
pg_hba.conf,位置与postgresql.conf相同,虽然上面配置允许任意地址连接PostgreSQL,但是这在pg中还不够,我们还需在pg_hba.conf中配置服务端允许的认证方式。任意编辑器打开该文件,编辑或添加下面一行。
# TYPE DATABASE USER CIDR-ADDRESS METHOD
host all all 0.0.0.0/0 md5
退出: \q
完成上三项配置后执行sudo service postgresql restart
重启PostgreSQL服务后,允许外网访问的配置就算生效了。
删除数据表
DROP database exampledb;
列出数据库名
SELECT datname FROM pg_database;
检查是否存在该用户
psql testbd -tAc "SELECT 1 FROM pg_roles WHERE rolname='odoo'"
4、修改ubuntu操作系统的postgres用户的密码(密码要与数据库用户postgres的密码相同)
切换到root用户
su root
删除PostgreSQL用户密码
sudo passwd -d postgres
- passwd -d 是清空指定用户密码的意思
设置PostgreSQL系统用户的密码
sudo -u postgres passwd
按照提示,输入两次新密码
- 输入新的 UNIX 密码
- 重新输入新的 UNIX 密码
- passwd:已成功更新密码
5、修改PostgresSQL数据库配置实现远程访问
vi /etc/postgresql/9.4/main/postgresql.conf
1.监听任何地址访问,修改连接权限
#listen_addresses = 'localhost' 改为 listen_addresses = '*'
2.启用密码验证
#password_encryption = on 改为 password_encryption = on
vi /etc/postgresql/9.4/main/pg_hba.conf
在文档末尾加上以下内容
host all all 0.0.0.0 0.0.0.0 md5
最后关闭防火墙或者添加端口规则
systemctl stop firewalld
- 删除相关的安装
sudo apt-get --purge remove postgresql\*
- 1
- 删除配置及文相关件
sudo rm -r /etc/postgresql/
sudo rm -r /etc/postgresql-common/
sudo rm -r /var/lib/postgresql/
- 1
- 2
- 3
- 删除用户和所在组
sudo userdel -r postgres
sudo groupdel postgres
- 1
- 2
- 重新安装
sudo apt-get install postgresql
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求