• 命令行方式登录PostgreSQL


    目录:

      一、在默认配置条件下,本机访问PostgreSQL

      二、创建新用户来访问PostgreSQL

      三、最简单的做法

      四、开启远程访问

    一、在默认配置条件下,本机访问PostgreSQL

    切换到Linux用户postgres,然后执行psql:

    su - postgres

    Last login: Wed Mar 1 13:16:48 CST 2017 on pts/1
    -bash-4.2$ psql

    psql (9.2.18)
    Type "help" for help.

    postgres=#

    此时就在数据库postgres中了。

    二、创建新用户来访问PostgreSQL

    1、如上所述,先切换到Linux用户postgres,并执行psql:

    $ su - postgres

    -bash-4.2$ psql

    postgres=#

    现在位于数据库提示符下。

    2、创建数据库新用户,如 dbuser:

    postgres=# CREATEUSER dbuser WITH PASSWORD '*****';

    注意:

    1. 语句要以分号结尾。
    2. 密码要用单引号括起来。

    3、创建用户数据库,如exampledb:

    postgres=# CREATE DATABASE exampledb OWNER dbuser;

    4、将exampledb数据库的所有权限都赋予dbuser:

    postgres=# GRANT ALL PRIVILEGES ON DATABASE exampledb TO dbuser;

    5、使用命令 q 退出psql:

    postgres=# q

    6、创建Linux普通用户,与刚才新建的数据库用户同名,如 dbuser:

    $ sudo adduser dbuser

    $ sudo passwd dbuser

    7、以dbuser的身份连接数据库exampledb:

    su - dbuser

    Password:
    Last login: Wed Mar 1 11:52:07 CST 2017 on pts/

    [dbuser@master ~]$ psql -d exampledb

     三、最简单的做法

    以你的普通Linux用户名,在数据库中创建同名的用户和数据库,如xxf,然后就可以本机直接连接到数据库xxf了。

    ~> su - postgres
    Password:
    Last login: Wed Mar 1 13:19:02 CST 2017 on pts/1
    -bash-4.2$ psql
    psql (9.2.18)
    Type "help" for help.

    postgres=# create user xxf with password '******';
    CREATE ROLE
    postgres=# create database xxf owner xxf;
    CREATE DATABASE
    postgres=# grant all privileges on database xxf to xxf;
    GRANT
    postgres=# q
    -bash-4.2$ exit
    logout
    ~> psql
    psql (9.2.18)
    Type "help" for help.

    xxf=>

    至此,就在数据库xxf中了。 

    四、开启远程访问

    1、编辑配置文件

    文件:postgresql.conf

    位置:/var/lib/pgsql/data/postgresql.conf

    添加/修改:在所有IP地址上监听,从而允许远程连接到数据库服务器:

    listening_address: '*'

    文件:pg_hba.conf

    位置:/var/lib/pgsql/data/pg_hba.conf

    添加/修改:允许任意用户从任意机器上以密码方式访问数据库,把下行添加为第一条规则:

    host    all             all             0.0.0.0/0               md5

    2、重启数据库服务:

    $ sudo systemctl restart postgresql

    3、此后即可从其它机器上登录,例如用Navicat for PostgreSQL:

    主机名或IP: 172.*.*.*

    端口:          5432

    初始数据库: xxf

    用户:          xxf

    密码:          ******  (数据库用户xxf的密码,不是Linux用户xxf的密码)

    关于此主题的更多说明,请移步官方文档 Chapter 19. Client Authentication

    参考:

    1. http://www.ruanyifeng.com/blog/2013/12/getting_started_with_postgresql.html
    2. PostgreSQL 9.2.20 Documentation Chapter 19. Client Authentication 19.1. The pg_hba.conf File 
    3. 高张远瞩(HiLoveS)的 PostgreSQL pg_hba.conf 文件简析
  • 相关阅读:
    通过shell脚本排查jar包中类冲突
    批量复制及执行命令shell脚本
    java String hashCode遇到的坑
    hive常用命令
    hadoop-2.10.0安装hive-2.3.6
    centos7安装mysql-5.7.28
    centos7安装mysql-5.5和mysql-5.6
    centos7搭建hadoop2.10高可用(HA)
    centos7搭建hadoop2.10完全分布式
    kafka(一)-为什么选择kafka
  • 原文地址:https://www.cnblogs.com/xxfcz/p/6483892.html
Copyright © 2020-2023  润新知