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