标签:用户登录 bash 检查 star type 目录 host readline tab
编译安装
root@ ~]# yum install readline-devel
root@ ~]# wget https://ftp.postgresql.org/pub/source/v11.4/postgresql-11.4.tar.gz
root@ ~]# tar xf postgresql-11.4.tar.gz
root@ ~]# cd postgresql-11.4
root@ postgresql-11.4]# ./configure --prefix=/usr/local/postgresql
root@ postgresql-11.4]# make && make install
新增postgresql用户并使用该账号操作
root@ ~]# useradd -s /sbin/nolog postgresql
root@ ~]# ln -sv /usr/local/postgresql/bin /home/postgresql/
root@ ~]# su - -s /bin/bash postgresql
postgresql$ mkdir /data/database/postgresql
初始化:
postgresql$ bin/initdb -D /data/database/postgresql/
postgresql$ bin/pg_ctl init -D /data/database/postgresql/ #或者
目录文件说明:
postgresql.conf 配置:
listen_addresses = ‘*‘
port = 5432
max_connections = 1024
unix_socket_directories = ‘/tmp‘
启动:
postgresql$ bin/pg_ctl -D /data/database/postgresql/ -l /data/database/postgresql/postgresql.log start
关闭
postgresql$ bin/pg_ctl -D /data/database/postgresql/ stop
创建初始数据库,并用超级用户登录
postgresql$ bin/psql
psql: FATAL: database "postgresql" does not exist
postgresql$ bin/createdb postgresql
postgresql$ bin/psql
psql (11.4)
Type "help" for help.
postgresql=# alter role postgresql with password ‘123456‘;
ps 初始化数据库时,会建立一个和初始化用户名的同名超级用户,在这个用户登录时执行的是操作系统认证,所以不需要用户名和密码,如也需密码认证,可修改文件pg_hba.conf。
配置访问控制pg_hba.conf,并reload:
# TYPE DATABASE USER ADDRESS METHOD
local all postgresql trust
host all postgresql 127.0.0.1/32 md5
说明:
TYPE: 连接方式,local:本地unix套接字,host:tcp/ip连接
DATABASE: 数据库
USER: 数据库用户
ADDRESS: ip地址,可以定义某台主机或某个网段,32代表检查整个ip地址,相当于固定的ip,24代表只检查前三位,最后一位是0~255之间的任何一个
METHOD: 认证方式,常用的有ident,md5,password,trust,reject。
? ? ? ? ? ? ? ? ? ? ??md5是常用的密码认证方式。
? ? ? ? ? ? ? ? ? ? ??password是以明文密码传送给数据库,建议不要在生产环境中使用。
? ? ? ? ? ? ? ? ? ? ??trust是只要知道数据库用户名就能登录,建议不要在生产环境中使用。
? ? ? ? ? ? ? ? ? ? ??reject是拒绝认证。
postgresql$ bin/pg_ctl -D /data/database/postgresql/ reload
添加一个root超级用户,和pguser普通用户
#访问控制
# TYPE DATABASE USER ADDRESS METHOD
local all postgresql,root trust
host all postgresql,root 127.0.0.1/32 md5
local pgdb pguser md5
host pgdb pguser 127.0.0.1/32 md5
postgresql$ bin/pg_ctl -D /data/database/postgresql/ reload
server signaled
postgresql$ bin/createdb root
postgresql$ bin/createuser --superuser -P root
Enter password for new role: ***
Enter it again: ***
[postgresql@localhost ~]$ bin/psql -U root
psql (11.4)
Type "help" for help.
root=# \q
[postgresql@localhost ~]$ bin/psql -U root -h 127.0.0.1
Password for user root:
psql (11.4)
Type "help" for help.
root=# create user pguser with password ‘1111‘;
CREATE ROLE
root=# create database pgdb owner pguser;
CREATE DATABAS
使用普通用户登陆pgdb库:
[root@ ~]# psql -U pguser pgdb
Password for user pguser: 1111
psql (11.4)
Type "help" for help.
pgdb=> \q
常用命令:
标签:用户登录 bash 检查 star type 目录 host readline tab
原文地址:https://www.cnblogs.com/wshenjin/p/12942435.html