安装和移除 postgresql10 on ubuntu18.04 server

一、安装postgresql

安装Postgres软件包以及-contrib增加一些附加实用程序和功能的软件包

sudo apt-get update
sudo apt install postgresql postgresql-contrib

安装完成后,可以执行的相关操作

sudo /etc/init.d/postgresql status 或 systemctl status postgresql # 查看postgresql状态
sudo /etc/init.d/postgresql stop 或 systemctl stop postgresql # 停止postgresql服务
sudo /etc/init.d/postgresql start 或 systemctl start postgresql # 启动postgresql服务
sudo /etc/init.d/postgresql restart 或 systemctl restart postgresql # 重启postgresql服务

查看所有postgres进程

ps -ef | grep postgres

显示如下

root 1134 1015 0 16:48 pts/0 00:00:00 sudo vim /etc/postgresql/10/main/pg_hba.conf
root 1135 1134 0 16:48 pts/0 00:00:00 vim /etc/postgresql/10/main/pg_hba.conf
postgres 1197 1 0 16:50 ? 00:00:00 /usr/lib/postgresql/10/bin/postgres -D /var/lib/postgresql/10/main -c config_file=/etc/postgresql/10/main/postgresql.conf
postgres 1199 1197 0 16:50 ? 00:00:00 postgres: 10/main: checkpointer process
postgres 1200 1197 0 16:50 ? 00:00:00 postgres: 10/main: writer process
postgres 1201 1197 0 16:50 ? 00:00:00 postgres: 10/main: wal writer process
postgres 1202 1197 0 16:50 ? 00:00:00 postgres: 10/main: autovacuum launcher process
postgres 1203 1197 0 16:50 ? 00:00:00 postgres: 10/main: stats collector process
postgres 1204 1197 0 16:50 ? 00:00:00 postgres: 10/main: bgworker: logical replication launcher
***** 1256 1015 0 16:50 pts/0 00:00:00 grep --color=auto postgres

安装的同时会在本地操作系统创建一个名为postgres的用户

进入postgreSQL的交互终端

1.切换到postgres用户

sudo -i -u postgres

2.进入postgreSQL

psql

以上两部也可以合成一步:sudo -i -u postgres psql

3.退出交互终端

\q

二、配置与使用

创建一个新用户
1.进入postgreSQL的交互终端

sudo -i -u postgres psql

2.创建新用户
la为你自己想要创建的用户名,superuser为创建的这个用户拥有的权限

属性 说明
login 只有具有 LOGIN 属性的角色可以用做数据库连接的初始角色名
superuse 数据库超级用户
createdb 创建数据库权限
createrole 允许其创建或删除其他普通的用户角色(超级用户除外)
replication 做流复制的时候用到的一个用户属性,一般单独设定
password 在登录时要求指定密码时才会起作用,比如md5或者password模式,跟客户端的连接认证方式有关
inherit 用户组对组员的一个继承标志,成员可以继承用户组的权限特性
create user la superuser;

3.查看已创建的用户

select usename from pg_user;

4.修改用户密码

alter user la password 'password';

5.退出交互终端

\q

三、配置远程登录

安装postgresql默认的服务端口是5432,同时默认也只允许localhost连接,此时需要修改2个配置文件:

/etc/postgresql/10/main/postgresql.conf # 主要配置文件
/etc/postgresql/10/main/pg_hba.conf # 修改访问策略

修改第一个文件:

sudo vim /etc/postgresql/10/main/postgresql.conf

将 #listen_addresses = ‘localhost’ 改为 listen_addresses = ‘*’
将 #password_encryption = md5 改为 password_encryption = md5

修改第二个文件:
sudo vim /etc/postgresql/10/main/pg_hba.conf

在文件末尾添加

host    all     la  0.0.0.0/0       md5     
# 允许任意ip,通过la用户,使用密码访问

连接数据库

 psql -h 10.20.***.** -p 5432 -U la -d la

-h 后面跟的是IP地址
-p 后面跟的是端口号
-U 后面跟的是用户名
-d 后面跟的是数据库名称

可能错误一:如果出现 psql: FATAL: role "la" does not exist 说明没有当前用户

解决方法:
1.切换用户,例如postgres

sudo -i -u postgres psql

2.创建一个同名用户
进入postgreSQL交互环境

create user la superuser;

3.退出交互终端

\q

可能错误二:如果出现 psql: FATAL: database "la" does not exist 说明不存在la数据库

解决方法:
因为连接时默认为当前用户的同名数据库,所以:
1.切换用户,例如postgres

sudo -i -u postgres psql

2.创建一个同名的数据库

create database la

3.退出交互终端

\q

4.再次连接的数据库

 psql -h 10.20.***.** -p 5432 -U la -d la

四、常用命令

查看所有数据库

\l

切换数据库: \c 参数为数据库名

\c database

切换用户: \c 参数为用户名

\c username

查看所有表

\dt

\d 数据库 —— 得到所有表的名字

\d database

\d 表名 —— 得到表结构

\d table

五、移除postgressql 10 on ubuntu18.04 server

卸载当前所有postgresql 相关的Package

sudo apt-get --purge remove postgresql*

sudo apt-get --purge remove postgresql*

下面删除配置文件和User 是关键

rm -r /etc/postgresql/
rm -r /var/lib/postgresql/
userdel -r postgres
发布了44 篇原创文章 · 获赞 12 · 访问量 8392

猜你喜欢

转载自blog.csdn.net/GongMeiyan/article/details/95765947