pg数据库切换用户

pg数据库切换用户,第1张

【完整步骤概述】:

1、查找配置文件位置  find / -name pg_hba.conf

2、修改配置文件  改为  无需密码登陆的方式 (步骤001)

3、执行密码修改(步骤002)

4、如果修改没有权限,需要先切换用户 ()

5、重新执行密码修改

6、恢复配置,重启服务

【解决方法】:

        1、关闭数据库服务

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

        3、编辑修改文件 pg_hba.conf, 把连接权限设置的 md5 加密方式 改成 trust

              以我的为例,原本设置是

# TYPE DATABASEUSERADDRESS METHOD

# "local" is for Unix domain socket connections only

local all all md5

# IPv4 local connections:

hostall all 127.0.0.1/32md5

              修改为

# TYPE DATABASEUSERADDRESS METHOD

# "local" is for Unix domain socket connections only

local all all trust

# IPv4 local connections:

hostall all 127.0.0.1/32trust

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

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

alter user postgres with password 'foobar'

           6、报错无权限,需要切换到对应有权限的用户下,再执行步骤5;

【注】修改时你可能会报错:

postgres=>alter user postgres with password '111111'

ERROR:  must be superuser to alter replication users

参考:用户切换

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

【postgresql 】使用\c 命令切换数据库和用户

切换数据库:\c [database_name]

切换用户:\c - [user_name]

先连上用户postgres、数据库postgres

$ 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=# \c zzj_db

You are now connected to database "zzj_db" as user "postgres".

zzj_db=#

切换用户

zzj_db=# \c - zzj_user

Password for user zzj_user:

You are now connected to database "zzj_db" as user "zzj_user".

zzj_db=>

连接数据库, 默认的用户和数据库是postgres

psql -U user -d dbname

切换数据库,相当于mysql的use dbname

\c dbname

列举数据库,相当于mysql的show databases

\l

列举表,相当于mysql的show tables

\dt

查看表结构,相当于desc tblname,show columns from tbname

\d tblname

\di 查看索引

创建数据库:

create database [数据库名]

删除数据库:

drop database [数据库名]

*重命名一个表:

alter table [表名A] rename to [表名B]

*删除一个表:

drop table [表名]

*在已有的表里添加字段:

alter table [表名] add column [字段名] [类型]

*删除表中的字段:

alter table [表名] drop column [字段名]

*重命名一个字段:

alter table [表名] rename column [字段名A] to [字段名B]

*给一个字段设置缺省值:

alter table [表名] alter column [字段名] set default [新的默认值]

*去除缺省值:

alter table [表名] alter column [字段名] drop default

在表中插入数据:

insert into 表名 ([字段名m],[字段名n],......) values ([列m的值],[列n的值],......)

修改表中的某行某列的数据:

update [表名] set [目标字段名]=[目标值] where [该行特征]

删除表中某行数据:

delete from [表名] where [该行特征]

delete from [表名]--删空整个表

创建表:

create table ([字段名1] [类型1] <references 关联表名(关联的字段名)>,[字段名2] [类型2],......<,primary key (字段名m,字段名n,...)>)

\copyright 显示 PostgreSQL 的使用和发行条款

\encoding [字元编码名称]

显示或设定用户端字元编码

\h [名称] SQL 命令语法上的说明,用 * 显示全部命令

\prompt [文本] 名称

提示用户设定内部变数

\password [USERNAME]

securely change the password for a user

\q 退出 psql

可以使用pg_dump和pg_dumpall来完成。比如备份sales数据库:

pg_dump drupal>/opt/Postgresql/backup/1.bak


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6763953.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存