前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PostgreSQL 操作命令

PostgreSQL 操作命令

作者头像
Kevin song
修改2020-03-10 13:05:53
1K0
修改2020-03-10 13:05:53
举报

系统版本

cat  /etc/redhat-release
 CentOS Linux release 7.6.1810 (Core)

postgresql 安装

#安装 postgresql rpm 
yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
#安装postgresql客户端
yum install postgresql10
#安装postgresql-server
yum install postgresql10-server
#初始化数据库
/usr/pgsql-10/bin/postgresql-10-setup  initdb
#启动并开机启动
systemctl   start  postgresql-10 &&  systemctl  enable  postgresql-10

postgresql配置

#yum安装postgresql,默认会建一个名为”postgres”的数据库管理员账号和同名的系统用户,用于执行PostgreSQL;
sudo -u postgres psql -U postgres
#修改密码
postgres=# ALTER USER postgres WITH PASSWORD '123456';

配置远程访问

#默认只能本机访问postgresql;
#修改listen_addresses = 'localhost'为listen_addresses = '*',允许所有远程访问;
sed -i "s|#listen_addresses = 'localhost'|listen_addresses = '*'|g" /var/lib/pgsql/10/data/postgresql.conf

认证配置

认证方式除“trust”外,还有“peer”, “ident”, “md5”, “password”等

重启服务

systemctl    restart  postgresql-10

firewalld 配置

firewall-cmd  --add-port=5432/tcp --permanent
firewall-cmd  --reload

查看端口

netstat -tuntlp |grep 5432
tcp        0      0 0.0.0.0:5432            0.0.0.0:*               LISTEN      16169/postmaster 
tcp6       0      0 :::5432                 :::*                    LISTEN      16169/postmaster

数据存储目录迁移

默认的数据库路径是/var/lib/pgsql/10/data/
创建新的数据存储目录mkdir -p /data/postgresql/data
更改目录属主属组
chown -R postgres:postgres  /data/postgresql/data
更改目录权限
chmod 700 /data/postgresql/data
停止服务
systemctl stop postgresql-10
修改启动文件/usr/lib/systemd/system/postgresql-10.service
修改 
PGDATA=/var/lib/pgsql/10/data/
将其修改为新的数据目录路径:PGDATA=/data/postgresql/data
重载配置
sudo systemctl daemon-reload
切换postgres用户
su – postgres
拷贝数据至新的目录下
cp -rf  /var/lib/pgsql/10/data/* /data/pgdata/data
exit //退出
systemctl start postgresql-10
登录数据库查收数据存储路径 
psql  -U postgres
show data_directory;

数据导入导出

数据的导出
pg_dump -U postgres(用户名)  (-t 表名)  数据库名(缺省时同用户名)  > 路径/文件名.sql
示例:pg_dump -h 192.168.99.221 -U zabbix zabbix >/opt/zabbix.sql
数据的导入
psql -d newdatabase -U postgres -f mydatabase.sql   // sql 文件在当前路径下
psql -d databaename(数据库名) -U username(用户名) -f < 路径/文件名.sql  // sql 文件不在当前路径下
示例:psql  -U zabbix zabbix -h 192.168.99.221 </opt/zabbix.sql

Postgresql 操作

简单命令

#登陆数据库
psql -U postgres -h 192.168.99.201\
#退出
\q
#列举数据库,相当于mysql的show databases
\l
#切换数据库,相当于mysql的use dbname
\c zabbix
#列举表,相当于mysql的show tables
\dt
#查看表结构,相当于desc tblname
\d users
#查看索引 
\di 
#查看当前数据存储目录
show data_directory;
#select 查询
select  userid,alias,lang from users;
#update 更新#
更新 users 表中 id 为 2 的 refresh 字段值
update  users  set refresh = 60 WHERE userid = 2;
#更新 users 表中 id 为1的passwd 字段
update  users set passwd = md5('zabbix') where  userid = 1;
select * from config \x\g\x;update  config set authentication_type=1;

用户权限管理

#修改 postgres 用户密码
ALTER USER postgres WITH PASSWORD '123456';
设置访问权限
#语法:GRANT permission_type ON table_name TO role_name;
#示例:#赋予zabbix用户 users表的update权限
GRANT UPDATE ON users TO zabbix; 
#赋予zabbix用户所有表的SELECT权限
GRANT SELECT ON ALL TABLES IN SCHEMA PUBLIC to zabbix; 
#特殊符号:ALL代表所访问权限,PUBLIC代表所有用户
GRANT ALL ON users TO zabbix; --赋给zabbix用户users表所有权限
GRANT SELECT ON users TO PUBLIC; --将users表的SELECT权限赋给所有用户
#撤销用户访问权限#语法格式如下:
REVOKE permission_type ON table_name FROM user_name;
#其中permission_type和table_name含义与GRANT指令中相同。
\z或\dp   #指令显示用户访问权限
\h        #GRANT显示所有可设置的访问权限
#切换用户
SET ROLE role_name; #切换到role_name用户
RESET ROLE; #切换回最初的role
示例
#创建zabbix用户 create user zabbix with password 'zabbixpwd123';
create database zabbix owner zabbix;
grant all privileges on database zabbix to zabbix;
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-01-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源搬运工宋师傅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档