命令行方式登录PostgreSQL、创建用户和数据库并赋权
目录: 一、在默认配置条件下,本机访问PostgreSQL 二、创建新用户来访问PostgreSQL 三、最简单的做法 四、开启远程访问
一、在默认配置条件下,本机访问PostgreSQL 切换到Linux用户postgres,然后执行psql: $su - postgres Last login: Wed Mar 1 13:16:48 CST 2017 on pts/1 psql (9.2.18) postgres=# 此时就在数据库postgres中了。 使用 psql -d [databasename] 可登录其他数据库。 注意:执行psql命令时,必须确认已配置postgresql的环境变量。 二、创建新用户来访问PostgreSQL 1、如上所述,先切换到Linux用户postgres,并执行psql: $su - postgres -bash-4.2$psql 现在位于数据库提示符下。 2、创建数据库新用户,如 dbuser: postgres=# CREATE USER dbuser WITH PASSWORD '*****'; 注意:
3、创建用户数据库,如exampledb: CREATE DATABASE exampledb OWNER dbuser;
4、将exampledb数据库的所有权限都赋予dbuser: 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: [dbuser@master ~]$psql -d exampledb 三、最简单的做法 以你的普通Linux用户名,在数据库中创建同名的用户和数据库,如xxf,然后就可以本机直接连接到数据库xxf了。 ~>su - postgres postgres=#create user xxf with password '******'; 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的密码) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |