postgres使用pg_ctl 命令
想要用pg_ctl等一系列的命令,需要配置环境变量:
PATH=$PATH:$HOME/.local/bin:$HOME/bin:/usr/local/pgsql/bin
export PGDATA=/usr/local/pgsql/data
export PATH
在.bash_profile 文件中添加上面的环境变量
然后source .bash_profile 使之生效。
在启动的时候,报错:pg_ctl: no database directory specified and environment variable PGDATA unset
需要把/usr/local/pgsql/data 的用户名和属组为 postgres 并且目录权限为0700
chmod -R 0700 /usr/local/pgsql/data
命令配置完成,可以使用。
停止服务:
[postgres@master pgsql]$ pg_ctl stop
waiting for server to shut down...2018-12-20 17:27:15.726 CST [] LOG: received fast shutdown request
.2018-12-20 17:27:15.728 CST [] LOG: aborting any active transactions
2018-12-20 17:27:15.728 CST [] FATAL: terminating connection due to administrator command
2018-12-20 17:27:15.729 CST [] FATAL: terminating connection due to administrator command
2018-12-20 17:27:15.730 CST [] FATAL: terminating connection due to administrator command
2018-12-20 17:27:15.732 CST [] LOG: worker process: logical replication launcher (PID 30076) exited with exit code 1
2018-12-20 17:27:15.732 CST [] FATAL: terminating connection due to administrator command
2018-12-20 17:27:15.735 CST [] LOG: shutting down
2018-12-20 17:27:15.745 CST [] LOG: database system is shut down
done
server stopped
启动服务:
[postgres@master pgsql]$ pg_ctl start
waiting for server to start....2018-12-20 17:27:53.811 CST [] LOG: listening on IPv4 address "0.0.0.0", port 5432
2018-12-20 17:27:53.811 CST [] LOG: listening on IPv6 address "::", port 5432
2018-12-20 17:27:53.813 CST [] LOG: listening on Unix socket "/tmp/.s.PGSQL.5432"
2018-12-20 17:27:53.828 CST [] LOG: database system was shut down at 2018-12-20 17:27:15 CST
2018-12-20 17:27:53.830 CST [] LOG: database system is ready to accept connections
done
server started
登入数据库默认用户为postgres
[postgres@master pgsql]$ psql
psql (10.5)
Type "help" for help. postgres=# select user;
user
----------
postgres
(1 row) postgres=#
指定用户登入-zhang
[postgres@master pgsql]$ psql -d mydb -U zhang
psql (10.5)
Type "help" for help. mydb=>
默认用户
postgres安装完成后,会自动在操作系统和postgres数据库中分别创建一个名为postgres的用户以及一个同样名为postgres的数据库。
psql -U zhang -d mydb -h 192.168.1.200 -W
[postgres@master ~]$ psql -U zhang -d mydb -h 192.168.1.200 -W
Password for user zhang:
psql (10.5)
Type "help" for help. mydb=>
参数含义: -U
指定用户 -d
要连接的数据库 -h
要连接的主机 -W
提示输入密码。
创建用户:
createuser username 这个用法和下面的create user 是一样的
在PostgresSQL命令行中使用CREATE ROLE
指令创建:
CREATE ROLE rolename;
在PostgresSQL命令行中使用CREATE USER
指令创建
CREATE USER username;
CREATE USER
和CREATE ROLE
的区别在于,CREATE USER
指令创建的用户默认是有登录权限的,而CREATE ROLE
没有。
创建用户时设定用户属性
CREATE ROLE role_name WITH optional_permissions;
创建用户时设定登录权限。
CREATE ROLE username WITH LOGIN;
修改用户属性
ALTER ROLE username WITH attribute_options;
通过以下方式禁止用户登录
ALTERROLE username WITH NOLOGIN;
设置访问权限
GRANT permission_type ON table_name TO role_name;
eg: GRANT UPDATE ON tablename TO use_role; --赋予use_role tablename表的update权限
GRANT SELECT ON ALL TABLES IN SCHEMA PUBLIC to use_role; --赋予use_role所有表的SELECT权限
特殊符号:ALL
代表所访问权限,PUBLIC
代表所有用户
GRANT ALL ON demo TO demo_role; --赋给用户所有权限
GRANT SELECT ON demo TO PUBLIC; --将SELECT权限赋给所有用户
撤销用户访问权限
语法格式如下:
REVOKE permission_type ON table_name FROM user_name;
postgres使用pg_ctl 命令的更多相关文章
- postgres的使用命令
1.更新源 yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos1 ...
- 常用到的git,mvn,postgres,vim命令总结
mvn: 打包: mvn package 如果想在打包的时候跳过测试: mvn package -Dmaven.test.skip=true 使用的junit测试框架, 测试: mvn test 如果 ...
- GreenPlum/postgres copy命令导出/导入数据
一.COPY命令简单实用 1.copy在postgres与GreenPlum介绍 1.1 postgrespostgres的COPY命令可以快速的导出/导入数据到postgresql数据库中,支持常用 ...
- windows安装postgres源代码
http://blog.csdn.net/adrastos/article/details/9093739 1. 下载PostgreSQL的源代码.解压. 2. 在Windows平台下编译需要跳过一个 ...
- Postgres中postmaster代码解析(上)
之前我的一些文章都是在说Postgres的一些查询相关的代码.但是对于Postgres服务端是如何启动,后台进程是如何加载,服务端在哪里以及如何监听客户端的连接都没有一个清晰的逻辑.那么今天我来说说P ...
- linux下postgres未能正常启动的解决过程
转载:http://www.cnblogs.com/starRebel/p/7892214.html 起因是一次linux服务器重启后,postgres没有起来,手动找原因. 1. 直接在命令行打po ...
- pg_ctl -- 启动、停止、重启 PostgreSQL
pg_ctl 名称 pg_ctl -- 启动.停止.重启 PostgreSQL 语法 pg_ctl start [-w] [-s] [-D datadir] [-l filename] [-o opt ...
- Postgres 多实例实例部署方式
Postgres 数据库在原有示例正常运行情况下,新增一个端口示例,主要目的解决新的项目和原有项目的数据库部署不在冲突,可以独立运行,备份和还原数据互不影响,主要用的的命令有 initdb 数据库初 ...
- pg_ctl — 启动、停止、重启 PostgreSQL
pg_ctl 名称 pg_ctl -- 启动.停止.重启 PostgreSQL 语法 pg_ctl start [-w] [-s] [-D datadir] [-l filename] [-o opt ...
随机推荐
- invalid new-expression of abstract class type 'CurveFittingEdge'
目录 一 报错原因 注:原创不易,转载请务必注明原作者和出处,感谢支持! 一 报错原因 今天遇到了一个之前从未遇到的报错: error: invalid new-expression of abstr ...
- java web 开发快速宝典 ------电子书
http://www.educity.cn/jiaocheng/j10259.html 1.2.1 JDk 简介 JDK是Sun公司在1995年推出的一套可以跨操作系统平台编译和运行Java程序的开 ...
- Mac下WebStorm直接运行ReactNative项目
1.首先点击WebStorm右上方的下拉箭头弹出的Edit Configurations…. 2.然后会进入一个配置页面.点击左上方的+.在弹出的列表中选中npm. 3.在右边的配置框中,先选择Com ...
- JAVA多线程程序ProgressBar2
JAVA多线程程序ProgressBar2 题目简介: 思路分析:与上一篇:JAVA多线程程序ProgressBar类似,本篇避免过于冗杂,所以在此没有给出. 实验代码: import java.aw ...
- Android开发 发布相关知识
1 三种BuildSystem简介 注意:ADT不要用了,在2017版本已经没有了.而且这就是一个巨坑,以前打包cocos的时候,学习的时候用这个,ADT是eclipse中的一个集成的东东,已经绝版, ...
- Django-MVC框架和MTV框架
MVC框架 全称Model View Controller,分为三个基本部分:模型Model.视图View和控制器Controller,具有耦合性低.重用性高.生命周期低等优点. 结构 View层,操 ...
- 描述下fastJSON,jackson等等的技术
①Jackson:依赖的jar包较少,简单易用性能高,更新速度也比较快,但是对于复杂类型的json转换bean会出 现问题,一些集合Map,List的转换出现问题,对于复杂类型的bean转换Json, ...
- eclipse 导入项目出现的问题汇总
Unbound classpath variable: 'TOMCAT_HOME' in project XXX Problem 翻译:未绑定的类路径变量:项目XXX中的“TOMCAT_HOME” 解 ...
- 前端 api 请求缓存方案
参考链接:https://blog.csdn.net/zhuoganliwanjin/article/details/89598753#commentBox
- 51CTO下载-html+javascript+css学习宝典
一.html知识 1. meta标签 Meta: 提供网页信息,搜索引擎使用 <meta name=“aa” content=“bbb”> <meta http-equiv=“exp ...