关于postgresql账户的信息

如何查看postgresql数据库用户

postgres=#

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的马村网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

\du

List

of

roles

Role

name

|e5a48de588b6e799bee5baa6e997aee7ad9431333363366263

Attributes

|

Member

of

-----------+------------------------------------------------+-----------

mqis

|

Password

valid

until

infinity

|

{}

mqis_app

|

Password

valid

until

infinity

|

{}

postgres

|

Superuser,

Create

role,

Create

DB,

Replication

|

{}

postgres=#

SELECT

u.usename

AS

"User

name",

u.usesysid

AS

"User

ID",

CASE

WHEN

u.usesuper

AND

u.usecreatedb

THEN

CAST('superuser,

create

database'

AS

pg_catalog.text)

WHEN

u.usesuper

THEN

CAST('superuser'

AS

pg_catalog.text)

WHEN

u.usecreatedb

THEN

CAST('create

database'

AS

pg_catalog.text)

ELSE

CAST(''

AS

pg_catalog.text)

END

AS

"Attributes"

FROM

pg_catalog.pg_user

u

ORDER

BY

1;

-------------------------------------------------

User

name

|

User

ID

|

Attributes

-----------+---------+-------------------

mqis

|

16393

|

mqis_app

|

16397

|

postgres

|

10

|

superuser,

create+

|

|

database

(3

rows)

postgres=#

postgresql的默认用户名和密码是多少

1、关闭数据库服务

2、进入数据库的工作空间目录 (如果是建库是没有另外指定,应该就是postgresql安装目录下的 data 目录)

3、编辑修改文件 pg_hba.conf, 把连接权限设置的 md5 加密方式 改成 trust以我的为例,原本设置是

1

2

3

4

# TYPE DATABASE USER CIDR-ADDRESS METHOD

# IPv4 local connections:

host all all 127.0.0.1/32 md5

修改为

1

2

3

4

# TYPE DATABASE USER CIDR-ADDRESS METHOD

# IPv4 local connections:

host all all 127.0.0.1/32 trust

4、从新启动postgresql数据库服务

5、可以不用密码就能用postgres用户登陆,然后执行修改用户密码的操作

6、修改 pg_hba.conf 文件,改回到 md5 方式,再重启数据库服务就ok了

7、再执行建用户,和建库操作

createuser.exe -s -P foo -U postgres

createdb.exe --encoding=UTF8 --owner=foo --template=template_postgis -Ufoo

参数:

--encoding=UTF8 设置数据库的字符集

--owner=foo 设置数据库的所有者

--tmplate=template_postgis 设置建库的模板,该模板支持空间数据操作

--Ufoo 用foo用户身份建立数据库

Postgresql数据库如何新建登录用户

我们使用Postgresql数据库的时候,默认都是用postgres用户进行数据操作。但是有时为了数据安全,我们会另外建一些账号给相关的工作人员使用。那么Postgresql数据库中如何新建登录用户呢?下面我给大家分享一下。

工具/材料

pgAdmin4

01

首先打开Postgresql的管理工具pgAdmin4,接着双击服务器名称,如下图所示

02

在弹出的Connect to Server界面中输入postgres用户的密码,然后点击OK按钮,如下图所示

03

进入到数据库以后右键单击"登录/组角色"选项,选择Create下面的Login/Group Role选项,如下图所示

04

接下来会弹出创建登录用户的界面,我们先给用户起一个名字,尽量是英文,如下图所示

05

然后切换到Definition页卡,给登录用户设置一个登录密码,如下图所示,注意Connection limit要设置为-1

06

接着切换到Privileges界面,这里需要给登录用户设置一下操作权限,大家可以根据自己的需要设置即可,如下图所示

07

接下来切换到Membership页卡,给登录用户设置一个角色,这里我直接把管理员的角色给它了,如下图所示

08

上述设置完毕以后回到数据库主界面,我们就可以看到"登录/组角色"下面就已经有我们新建的登录用户了,如下图所示

09

最后我们断开当前的连接,用新建的用户进行登录,如果登录正常的话则代表一切设置成功,如下图所示

如何在PostgreSQL中建只读账号

在PostgreSQL中并没有CREATE TABLE权限名称,这是与其它数据库不同的一个地方,PostgreSQL是通过控制是否在模式schema中上有CREATE控制用户的能否创建表的权限的,默认安装下,任何用户都有在模式public中CREATE的权限,所以要创建只读账号的第一步,我们要先去除在模式public中的CREATE权限:

REVOKE CREATE ON SCHEMA public from public;

下面的SQL创建了一个名为“readonly”的用户:

CREATE USER readonly with password 'query';

然后把现有的所有在public这个schema下的表的SELECT权限赋给用户readonly,执行下面的SQL命令:

GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly;

上面的SQL命令只把现有的表的权限给了用户readonly,但如果这之后创建的表,readonly用户还是不能读,需要使用下面的SQL把以后创建的表的SELECT权限也给用户readonly:

如何重置postgresql用户密码

相信如果你在重新安装或者升级Postgresql数据库的时候都需要你输入在第一次安装时候的密码,这个密码往往我们都会忘记,那么万一忘记了该咋办?难道真就不能安装了?答案当然是否定的。在项目中,本人就遇到过这样的情况,一番摸索过后发现终于发现其中的奥秘,首先,Postgresql 安装时,会往用户组中添加一个postgresql用户,而这个用户就是阻止你密码验证不能通过的罪魁祸首,好吧,将其删除,再试试呢,成功了。别急,有些时候,你在安装的时候还会报一些错误,我同事就遇到此类情况,最后发现Postgresql 还会在当前用户下记录一下信息,比如管理工具的默认用户名和密码等信息,密码是不加密的哦!!以我的Win 7 32bit Enterprise version 为例,我的用户为:Abc_Zhou,则在C:\Users\abc_zhou\AppData\Roaming folder下看到有postgresql,删掉吧,好了,至此,你将能够完全安装成功了。

有时候在不知道密码的情况下如何能够使用数据库呢?当然前提是你知道用户名。这个是比较纠结的问题,用以上方法重装?显然不行,谁能保证我的数据呢。别急,咱们也有办法,首先,来到数据库的安装目录data文件夹下面,我的是9.0.4 version,路径为(PostgreSQL\9.0\data),然后找到pg_hba.conf文件,在最下放有一下几句话:

# TYPE DATABASE USER CIDR-ADDRESS METHOD

# IPv4 local connections:

host all all 127.0.0.1/32 md5

# IPv6 local connections:

host all all ::1/128 md5

好吧,将所有的md5修改称为trust,重启数据库服务,再去界面登录看看,记住不要输入密码哦。当你登录成功了之后难道想改个密码还不容易?

Alter user 'postgres' with password '123456';

至此,重新把method改回md5吧,重启服务,使用刚刚修改的密码登录,果断成功了。

好了,到此基本上完成我们的全部需求了,可是,有时候我们又不想改掉原本的密码,或许系统中还会有其他软件使用此用户呢。好,那还不简单,重新创建一个用户不就得了,不错好方法。但是我要告诉你一个更绝的办法,就是如果有人在管理工具中登录并保存过密码,那你就可以通过以下文件直接找出密码:C:\AllUsers\abc_zhou\AppData\postgresql 中的pgpass.conf 文件(机器环境同上),记事本打开就ok了,是不是可以看到密码了,就是这么简单。


文章标题:关于postgresql账户的信息
网页链接:http://azwzsj.com/article/dscidog.html