数据库管理

[TOC]

基本命令

-- 创建用户
CREATE USER xxx WITH PASSWORD 'xxxxxx';
-- 创建数据库yyy并指定所有者为xxx
CREATE DATABASE yyy OWNER xxx;
-- 对数据库yyy的全部操作权限赋给用户xxx,否则xxx仅仅能登录控制台,没有不论什么数据库的操作权限
GRANT ALL PRIVILEGES ON DATABASE yyy to xxx;
-- 授予对表的操作权限
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO inpsur;
-- 删除数据库yyy
DROP DATABASE yyy;
-- 删除用户xxx
DROP USER XXX;

PSQL 常用命令

-- 退出控制台
\q

-- 连接数据库
psql -U <userName> -d <DBname>

-- 列出全部数据库
\l

-- 切换当前数据库到指定的数据库
\c [database_name]

-- 显示所有的表
\d

-- 显示指定的表的结构
\d [table_name]

-- 显示视图
\dv

-- 列出全部用户
\du or \dg

-- 列出当前数据库和连接的信息
\conninfo

-- 修改用户密码
\password uesrname

数据库备份&恢复

备份

su - postgres
# 定义文件名
file_name="`date +%Y%m%d`"
pg_dump -F c -f ${file_name}.dmp -C -E UTF-8 -U <DataBaseUser> <DataBaseName>

# 备份远程数据库
pg_dump -F c -f oDAM.dmp -C -h 10.193.10.80 -p 7643 -U inspur -W oDAM

恢复

CREATE DATABASE yunshang OWNER odoo;
GRANT ALL PRIVILEGES ON DATABASE yunshang to odoo;

pg_restore -j5 -U <DBUSER> -W -d <DBNAME> -v <FILEPATH>
-- 更新数据列
update combined_statements_organization set name = ref_company_name;

远程访问

find / -name postgresql.conf
vim /var/lib/pgsql/9.6/data/postgresql.conf
# listen_addresses = '*'

find / -name pg_hba.conf
vim /var/lib/pgsql/9.6/data/pg_hba.conf
# host    all             all             0.0.0.0/0               md5

su - postgres
psql
\password uesrname

results matching ""

    No results matching ""