#读者注意:本文可以选择不看解释,直接执行每段的0中的代码

(〇):一些概念(可以跳过直接使用(一)0的代码)

1. 客户端:psql。postgreSQL的命令行客户端程序,在终端输入psql进入postgreSQL数据库

2. 账户:与我们常用的mysql不同,使用postgresSQL数据库无须选择数据库账户,在类unix系统下,postgreSQL直接使用你的当前系统账户作为数据库账户。

默认的,在创建伊始,postgres生成一个名为postgres的数据库和一个名为postgres的数据库超级用户,同时还生成了一个名为postgres的Linux系统用户,我们可以通过cat /etc/passwd 命令看到它。

如果要想像mysql一样,使用另外的数据库账户,则需要另行修改。

(一) : 基本配置

0. 代码(不愿意看详情的可以照着敲)

  1. sudo apt install postgresql
  2. /etc/init.d/postgresql status
  3. /etc/init.d/postgresql start
  4. sudo passwd postgres
  5. su - postgres
  6. psql​
  7. ALTER USER postgres WITH PASSWORD 'abcdefg';

1. 安装:sudo apt install postgresql

2. 查看postgresql服务状况(默认是运行的,此步可以跳过)

(1)查看:/etc/init.d/postgresql status

(2)停止:/etc/init.d/postgresql stop

(3)开始:/etc/init.d/postgresql start

3. postgresql将为系统创建的账户:postgres

3.(1): 建议更改linux的账户的postgres账户的密码:sudo passwd postgres

4. 进入postgre账户:su - postgres

5. 登录数据库:psql

5.(1) 修改postgreSQL的postgres账户的密码为“abcdefg”:ALTER USER postgres WITHPASSWORD encrypted 'abcdefg';

(二):进阶:新建一个账户

以下假设你有一个linux用户"Bob",你要为他建立一个叫“Bob”的密码为“abcdefg”的账户

0. 代码:

  1. create user Bob with password 'abcdefg';
  2. create database Bob owner Bob;
  3. grant all privileges on database Bob to Bob;​

0.1. 其实通过第一步,你的数据库就可以使用了,而且如果你更改了postgreSQL为你创建的postgre账户的密码,就是是很安全了。

然而,我们也可以选择使用自己的数据库账户。

(1)postgre的权限太大,你需要一个更安全的账户。

(1)你的当前系统账户是Bob,你想直接使用Bob这一身份进入数据库而不是切换至postgre。

(2)或者说你的程序调用不方便用postgre账户,需要新建一个数据库账户。

1. 创建一个叫“Bob”的密码为“abcdefg”的账户: create user Bob with password 'abcdefg';

2. 创建属于Bob的数据库(不可省略,必须为同名数据库,不可更改数据库名称为其它):

create database Bob owner Bob;

3.  赋权:grant all privileges on database Bob to Bob;​

4. 注意:

(1)通常从linux用户名同名数据库账户使用该账户,不需要输入数据库密码,你的数据库密码通常是用来第三方程序连接的,比方说数据库可视化软件DBevar,比方说远程连接,比方说就你自己的脚本。

(三)开启本地账户登录模式:

0. 代码:

  1. sudo vim /etc/postgresql/*/main/pg_hba.conf
  2. 将local all postgres peer改为local all postgres md5,wq退出
  3. sudo /etc/init.d/postgresql reload
  4. psql -U postgres

1. 修改postgresql配置的本地机器权限,使所有用户都可以交叉进入

sudo vim /etc/postgresql/*/main/pg_hba.conf
    将local all postgres peer改为local all postgres md5,wq退出

(如果改成trust,则不需要输入密码,但不建议这么做)

2. 重载配置:sudo /etc/init.d/postgresql reload

3. 加参数 -U设置进入仓库的用户(此处进入的是postgres):psql -U postgres, 然后输入密码。

(四)允许远程登录:

0. 代码:

  1. sudo vim /etc/postgresql/*/main/postgresql.conf
  2. 搜索文件中listen_addresses,讲注释去掉,值改为*,wq退出
  3. sudo vim /etc/postgresql/*/main/pg_hba.conf
  4. 在最下面添加一行:host   all    all    0.0.0.0/0    md5, wq退出
  5. sudo /etc/init.d/postgresql reload

1. 修改两个配置文件:

(1)postgresql.conf: sudo vim /etc/postgresql/*/main/postgresql.conf,

搜索文件中listen_addresses,讲注释去掉,值改为*,wq退出

(2)pg_hba.conf: sudo vim /etc/postgresql/*/main/pg_hba.conf

在最下面添加一行:host   all    all    0.0.0.0/0    md5, wq退出

(3)重载配置 :sudo /etc/init.d/postgresql reload

(五)常用指令:

1. 登录指令:

(1)-U指定用户

(2)-d指定数据库,

(3)-h指定服务器,

(4)-p指定端口。

可以这样用:

完整的登录指令:psql -U dbuser -d somedb -h 127.0.0.1 -p 5432

登录linux系统用户名的同名账户的某个仓库:psql somedb

登录linux系统用户名的同名账户的同名仓库:psql

2. 控制台命令:

如果你过去是mysql用户,你会遗憾地发现mysql的一些如同show databases; show tables;use somedatabase 等指令在postgreSQL是行不通的。

  • \h:查看SQL命令的解释,比如\h select。
  • \?:查看psql命令列表。
  • \l:列出所有数据库。
  • \c [database_name]:连接其他数据库。
  • \d:列出当前数据库的所有表格。
  • \d [table_name]:列出某一张表格的结构。
  • \du:列出所有用户。
  • \e:打开文本编辑器。
  • \conninfo:列出当前数据库和连接的信息。

3。 数据库命令:

几乎所有的sql命令都是通用的,大家自行查找使用。

linux debian 9 配置postgresSQL数据库的更多相关文章

  1. Kali Linux 下安装配置MongoDB数据库 ubuntu 下安装配置MongoDB源码安装数据库

    Kali Linux 下安装配置MongoDB数据库   1.下载mongodb.tgz 压缩包: 2.解压到:tar -zxvf mongodb.tgz /usr/local/mongodb 3.创 ...

  2. linux debian 9 / centos 7配置postgresSQL数据库

    #读者注意:本文可以选择不看解释,直接执行每段的0中的代码 (〇):一些概念(可以跳过直接使用(一)0的代码) 1. 客户端:psql.postgreSQL的命令行客户端程序,在终端输入psql进入p ...

  3. Linux下安装配置MongoDB数据库

    说明: 操作系统:CentOS 5.X 64位 IP地址:192.168.21.130 实现目的: 安装配置MongoDB数据库 具体操作: 一.关闭SElinux.配置防火墙 1.vi /etc/s ...

  4. 虚拟机中ubuntu-16.04 Linux系统下配置mysql数据库,并在windows下使用navicat远程连接

    Linux系统下mysql数据库安装配置步骤: 1.在服务器上安装mysql:sudo apt-get install mysql-server sudo apt-get install mysql- ...

  5. linux下安装 配置 redis数据库

    通过终端命令安装(推荐): 1 确保更新源服务器能正常使用 如果没有更换更新源服务器,那么可能一直都下不了软件.欢迎参考我之前的博文来更换成国内的镜像服务器http://www.cnblogs.com ...

  6. Linux CentOS安装配置MySQL数据库

    没什么好说的,直接正面刚吧. 安装mysql数据库 a)下载mysql源安装包:wget http://dev.mysql.com/get/mysql57-community-release-el7- ...

  7. 【转载】CentOS6.5_X64下安装配置MongoDB数据库

    [转载]CentOS6.5_X64下安装配置MongoDB数据库 2014-05-16 10:07:09|  分类: 默认分类|举报|字号 订阅      下载LOFTER客户端 本文转载自zhm&l ...

  8. Linux下oracle11gR2系统安装到数据库建立配置及最后oracle的dmp文件导入一站式操作记录

    简介 之前也在linux下安装过oralce,可每次都是迷迷糊糊的,因为大脑一片空白,网上随便看见一个文档就直接复制,最后搞了乱七八糟,虽然装上了,却乱得很,现在记录下来,希望能给其他网上朋友遇到问题 ...

  9. Linux下安装配置MongoDB 3.0.x 版本数据库

    说明: 操作系统:CentOS 5.X 64位 IP地址:192.168.21.128 实现目的: 安装配置MongoDB数据库 具体操作: 一.关闭SElinux.配置防火墙 1.vi /etc/s ...

随机推荐

  1. 利用JavaScript来切换样式表

    切换样式表 html页 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...

  2. 为Ext添加下拉框和日期组件

    Ext.onReady(function(){ var config = { fields:['module'], data:[['新建'],['删除'],['增加']}; var store = n ...

  3. 通过业务系统的重构实践DDD

    最近新接了一个业务系统——社区服务系统,为了快速熟悉和梳理老系统的业务逻辑和代码,同时对老系统代码做一些优化,于是打算花上一个月时间不间断地对老系统服务进行重构.同时,考虑到社区业务的复杂性,想起了之 ...

  4. 1000以内完全数(完美数)获取实现---基于python

    """题目: 如果一个数恰好等于它的因子之和,则称该数为"完全数" .各个小于它的约数(真约数,列出某数的约数,去掉该数本身,剩下的就是它的真约数)的 ...

  5. Netty自娱自乐之类Dubbo RPC 框架设计构想 【上篇】

    之前在前一篇的<Netty自娱自乐之协议栈设计>,菜鸟我已经自娱自乐了设计协议栈,gitHub地址为https://github.com/vOoT/ncustomer-protocal.先 ...

  6. 学习Python Day1

    学习PythonDay1,主要是学习了循环,while循环,for循环:while循环加if.else以及elif,for循环嵌套for循环:break,终止循环,continue跳出循环:for i ...

  7. springmvc注解

    简介: handler method 参数绑定常用的注解,我们根据他们处理的Request的不同内容部分分为四类:(主要讲解常用类型) A.处理requet uri 部分(这里指uri templat ...

  8. Spring mybatis源码篇章-NodeHandler实现类具体解析保存Dynamic sql节点信息

    前言:通过阅读源码对实现机制进行了解有利于陶冶情操,承接前文Spring mybatis源码篇章-XMLLanguageDriver解析sql包装为SqlSource SqlNode接口类 publi ...

  9. 201521123024《Java程序设计》第7周学习总结

    1. 本周学习总结 2. 书面作业 1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 public boolean contains(Object o) { re ...

  10. 201521044091 《Java学习笔记》 第六周学习总结

    1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结.注1:关键词与内容不求多,但概念之间的联系要清晰,内容覆盖面 ...