linux debian 9 配置postgresSQL数据库
#读者注意:本文可以选择不看解释,直接执行每段的0中的代码
(〇):一些概念(可以跳过直接使用(一)0的代码)
1. 客户端:psql。postgreSQL的命令行客户端程序,在终端输入psql进入postgreSQL数据库
2. 账户:与我们常用的mysql不同,使用postgresSQL数据库无须选择数据库账户,在类unix系统下,postgreSQL直接使用你的当前系统账户作为数据库账户。
默认的,在创建伊始,postgres生成一个名为postgres的数据库和一个名为postgres的数据库超级用户,同时还生成了一个名为postgres的Linux系统用户,我们可以通过cat /etc/passwd 命令看到它。
如果要想像mysql一样,使用另外的数据库账户,则需要另行修改。
(一) : 基本配置
0. 代码(不愿意看详情的可以照着敲)
- sudo apt install postgresql
- /etc/init.d/postgresql status
- /etc/init.d/postgresql start
- sudo passwd postgres
- su - postgres
- psql
- 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. 代码:
- create user Bob with password 'abcdefg';
- create database Bob owner Bob;
- 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. 代码:
- sudo vim /etc/postgresql/*/main/pg_hba.conf
- 将local all postgres peer改为local all postgres md5,wq退出
- sudo /etc/init.d/postgresql reload
- 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. 代码:
- sudo vim /etc/postgresql/*/main/postgresql.conf
- 搜索文件中listen_addresses,讲注释去掉,值改为*,wq退出
- sudo vim /etc/postgresql/*/main/pg_hba.conf
- 在最下面添加一行:host all all 0.0.0.0/0 md5, wq退出
- 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数据库的更多相关文章
- Kali Linux 下安装配置MongoDB数据库 ubuntu 下安装配置MongoDB源码安装数据库
Kali Linux 下安装配置MongoDB数据库 1.下载mongodb.tgz 压缩包: 2.解压到:tar -zxvf mongodb.tgz /usr/local/mongodb 3.创 ...
- linux debian 9 / centos 7配置postgresSQL数据库
#读者注意:本文可以选择不看解释,直接执行每段的0中的代码 (〇):一些概念(可以跳过直接使用(一)0的代码) 1. 客户端:psql.postgreSQL的命令行客户端程序,在终端输入psql进入p ...
- Linux下安装配置MongoDB数据库
说明: 操作系统:CentOS 5.X 64位 IP地址:192.168.21.130 实现目的: 安装配置MongoDB数据库 具体操作: 一.关闭SElinux.配置防火墙 1.vi /etc/s ...
- 虚拟机中ubuntu-16.04 Linux系统下配置mysql数据库,并在windows下使用navicat远程连接
Linux系统下mysql数据库安装配置步骤: 1.在服务器上安装mysql:sudo apt-get install mysql-server sudo apt-get install mysql- ...
- linux下安装 配置 redis数据库
通过终端命令安装(推荐): 1 确保更新源服务器能正常使用 如果没有更换更新源服务器,那么可能一直都下不了软件.欢迎参考我之前的博文来更换成国内的镜像服务器http://www.cnblogs.com ...
- Linux CentOS安装配置MySQL数据库
没什么好说的,直接正面刚吧. 安装mysql数据库 a)下载mysql源安装包:wget http://dev.mysql.com/get/mysql57-community-release-el7- ...
- 【转载】CentOS6.5_X64下安装配置MongoDB数据库
[转载]CentOS6.5_X64下安装配置MongoDB数据库 2014-05-16 10:07:09| 分类: 默认分类|举报|字号 订阅 下载LOFTER客户端 本文转载自zhm&l ...
- Linux下oracle11gR2系统安装到数据库建立配置及最后oracle的dmp文件导入一站式操作记录
简介 之前也在linux下安装过oralce,可每次都是迷迷糊糊的,因为大脑一片空白,网上随便看见一个文档就直接复制,最后搞了乱七八糟,虽然装上了,却乱得很,现在记录下来,希望能给其他网上朋友遇到问题 ...
- Linux下安装配置MongoDB 3.0.x 版本数据库
说明: 操作系统:CentOS 5.X 64位 IP地址:192.168.21.128 实现目的: 安装配置MongoDB数据库 具体操作: 一.关闭SElinux.配置防火墙 1.vi /etc/s ...
随机推荐
- TCP/IP协议栈模型
OSI七层模型介绍: 下面4层(物理层.数据链路层.网络层和传输层)主要提供数据传输和交换功能,即以节点到节点之间的通信为主:第4层作为上下两部分的桥梁,是整个网络体系结构中最关键的部分:而上3层(会 ...
- java.lang.reflect.MalformedParameterizedTypeException异常问题
做dubbo框架集成的时候,出现的问题,本来的原来的工程没有错误,引入dubbo后报错,原因是spring的jar文件冲突,我用的spring是4.x,dubbo引入的是2.5所以需要去掉,相关的po ...
- Visual Studio2017数据库架构比较
一.前言 开发的时候在测试服务器上和线网服务器上面都有我们的数据库,当我们在线网上面修改或者新增一些字段后,线网的数据库也需要更新,这个时候根据表的修改记录,然后在线网上面一个一个增加修改很浪费效率而 ...
- 谈一谈EasyUI中TreeGrid的过滤功能
写在最前面 这个星期一直在纠结easyui的treegrid的过滤功能,原因呢,自然是项目中一个莫名奇妙的需求. easyui虽说是后端程序员的前端框架,但是说句实话,除去api,让我直接写里面的节点 ...
- CVE-2016-10190 FFmpeg Http协议 heap buffer overflow漏洞分析及利用
作者:栈长@蚂蚁金服巴斯光年安全实验室 -------- 1. 背景 FFmpeg是一个著名的处理音视频的开源项目,非常多的播放器.转码器以及视频网站都用到了FFmpeg作为内核或者是处理流媒体的工具 ...
- 只查看tomcat进程,不包括grep
ps aux | grep tomcat | grep -v "grep" | awk '{print $2}'
- DotNetCore跨平台~Quartz定时单次任务
之前写过一篇文件<DotNetCore跨平台~Quartz热部署的福音-监控文件夹的变化>,今天主要把框架优化了一下,支持外部触发,并支持外部将参数以JobDataMap形式进行输入,然后 ...
- 探索JSP中的 "9大内置对象!"
1.什么是JSP内置对象? jsp内置对象就是Web容器创建的一组对象,我们都知道Tomcat可以看成是一种Web容器,所以我们可以知道所谓的内置对象Tomcat创建的,使用内置对象时可以不适用new ...
- MySQL(四)--蠕虫复制、查询
1 蠕虫复制 蠕虫复制:从已有的数据中去获取数据,然后将数据又进行新增操作,数据成倍增加. 表创建高级操作:从已有创建新表(复制表结构) create table 表名 like 数据库.表名; 蠕虫 ...
- 团队作业8——第二次项目冲刺(Beta阶段) 5.19
Day1--5.19 1.展开站立式会议(拍摄者:武健男): 会议内容:(1)新成员自我介绍,使大家能更快熟悉并一起合作. (2)由于我们之前的项目经理去了别的小组,所以我们投票选取新成员林乔桦作为我 ...