想要用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 USERCREATE 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 命令的更多相关文章

  1. postgres的使用命令

    1.更新源 yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos1 ...

  2. 常用到的git,mvn,postgres,vim命令总结

    mvn: 打包: mvn package 如果想在打包的时候跳过测试: mvn package -Dmaven.test.skip=true 使用的junit测试框架, 测试: mvn test 如果 ...

  3. GreenPlum/postgres copy命令导出/导入数据

    一.COPY命令简单实用 1.copy在postgres与GreenPlum介绍 1.1 postgrespostgres的COPY命令可以快速的导出/导入数据到postgresql数据库中,支持常用 ...

  4. windows安装postgres源代码

    http://blog.csdn.net/adrastos/article/details/9093739 1. 下载PostgreSQL的源代码.解压. 2. 在Windows平台下编译需要跳过一个 ...

  5. Postgres中postmaster代码解析(上)

    之前我的一些文章都是在说Postgres的一些查询相关的代码.但是对于Postgres服务端是如何启动,后台进程是如何加载,服务端在哪里以及如何监听客户端的连接都没有一个清晰的逻辑.那么今天我来说说P ...

  6. linux下postgres未能正常启动的解决过程

    转载:http://www.cnblogs.com/starRebel/p/7892214.html 起因是一次linux服务器重启后,postgres没有起来,手动找原因. 1. 直接在命令行打po ...

  7. pg_ctl -- 启动、停止、重启 PostgreSQL

    pg_ctl 名称 pg_ctl -- 启动.停止.重启 PostgreSQL 语法 pg_ctl start [-w] [-s] [-D datadir] [-l filename] [-o opt ...

  8. Postgres 多实例实例部署方式

    Postgres 数据库在原有示例正常运行情况下,新增一个端口示例,主要目的解决新的项目和原有项目的数据库部署不在冲突,可以独立运行,备份和还原数据互不影响,主要用的的命令有  initdb 数据库初 ...

  9. pg_ctl — 启动、停止、重启 PostgreSQL

    pg_ctl 名称 pg_ctl -- 启动.停止.重启 PostgreSQL 语法 pg_ctl start [-w] [-s] [-D datadir] [-l filename] [-o opt ...

随机推荐

  1. java基础点<一>

    1. 九种基本数据类型的大小,以及他们的封装类.byte,short,int,long,boolue,float,double,char,特殊voidByte,Short,Integer,Long,B ...

  2. httpClient调用接口的时候,解析返回报文内容

    比如我httpclient调用的接口返回的格式是这样的: 一:data里是个对象 { "code": 200, "message": "执行成功&qu ...

  3. pyqt5 工具栏文字图片同时显示

    import sys from PyQt5.QtWidgets import QMainWindow, QTextEdit, QAction, QApplication from PyQt5.QtGu ...

  4. [NodeJS] 优缺点及适用场景

    概述: NodeJS宣称其目标是“旨在提供一种简单的构建可伸缩网络程序的方法”,那么它的出现是为了解决什么问题呢,它有什么优缺点以及它适用于什么场景呢? 本文就个人使用经验对这些问题进行探讨. 一. ...

  5. Access access中,查询字段是否存

    '===========================================================' 过程及函数名:  ListAllTableAndAllField' 版本号  ...

  6. 进程,虚拟环境,Mysql主从

    进程 查看进程 ps(类似windows任务管理器) man 1 ps # 查看命令文档 ps[options] 1 UNIX options, which may be grouped and mu ...

  7. [LeetCode] 697. Degree of an Array 数组的度

    Given a non-empty array of non-negative integers nums, the degree of this array is defined as the ma ...

  8. FTP简单搭建(二)

    六.配套设置 1.基于用户名的上传和下载 创建用户 useradd alex echo redhat |passwd --stdin alex 指定用户登录的路径 可不设置,不设置则为用户家目录 mk ...

  9. 自然数幂和(递推式k^2方法)

    先用这个方法顶一下!

  10. .NET Core和.NET Standard 区别与联系

    每一种托管实现(如Xamarin..NET Core或.NET Framework)都必须遵循.NET Standard实现BCL..NET STANDARD LIBRARY是.net 标准库,.NE ...