安装postgresql

https://www.jianshu.com/p/7d133efccaa4

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

sudo apt-get update

sudo apt-get install postgresql postgresql
安装完成后查看运行状态

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

进入postgreSQL的交互终端
1.切换到postgres用户

sudo -i -u postgres
2.进入postgreSQL

psql
3.退出交互终端

\q
配置与使用
创建一个新用户
1.进入postgreSQL的交互终端

sudo -u postgres psql
2.创建新用户
username为你自己想要创建的用户名,superuser为创建的这个用户拥有的权限

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

select usename from pg_user;
4.修改用户密码

alter user username password 'password';
配置远程登录
安装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 username 0.0.0.0/0 md5

允许任意ip,通过username用户,使用密码访问

连接数据库

psql
如果出现 psql: FATAL: role "username" does not exist 说明没有当前用户
解决方法:
1.切换用户,例如postgres

sudo -i -u postgres

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

create user username superuser;
创建之后可能出现第二条的错误,解决办法见下一条。

如果出现 psql: FATAL: database "username" does not exist 说明不存在username数据库
解决方法:
因为连接时默认为当前用户的同名数据库,所以:
1.创建一个同名的数据库

create database username
2.指定连接的数据库
-d 后跟的参数为连接的数据库名

psql -d database
常用命令
查看所有数据库

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

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

\c username
查看所有表

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

\d database
\d 表名 —— 得到表结构

\d table

作者:莫名ypc
链接:https://www.jianshu.com/p/7d133efccaa4
来源:
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的:(安装postgresql)