postgres 基本操作

登陆:

$ psql -U <user> -d <dbname>

数据库操作:

$ \l      //查看库

$  \c <dbname>   //切换库

// 切换数据库,相当与use dbname

$ \c <dbname>

// 列举表,相当与show tables

$ \dt

// 查看表结构,相当于desc

$ \d tblname

// 创建数据库
$ create database <dbname>

// 删除数据库
$ drop database <dbname>

// 创建表
$ create table ([字段名1] [类型1] ;,[字段名2] [类型2],......<,primary key (字段名m,字段名n,...)>;);

// 在表中插入数据
$ insert into 表名 ([字段名m],[字段名n],......) values ([列m的值],[列n的值],......);

// 备份数据库

$ pg_dump -U postgres -f /tmp/postgres.sql postgres (导出postgres数据库保存为postgres.sql)
$ pg_dump -U postgres -f /tmp/postgres.sql -t test01 postgres (导出postgres数据库中表test01的数据)
$ pg_dump -U postgres -F t -f /tmp/postgres.tar postgres (导出postgres数据库以tar形式压缩保存为postgres.tar)

// 恢复数据库

$ psql -U postgres -f /tmp/postgres.sql bk01 (恢复postgres.sql数据到bk01数据库)
$ pg_restore -U postgres -d bk01 /tmp/postgres.tar (恢复postgres.tar数据到bk01数据库)

// 切换用户
$ \c - <username>

// 创建用户并设置密码

$ CREATE USER ‘username‘ WITH PASSWORD ‘password‘;
$ CREATE ROLE ‘username‘ CREATEDB PASSWORD ‘password‘ LOGIN; (创建角色并授予创建数据库及密码登录的属性)

// 修改用户密码
$ ALTER USER ‘username‘ WITH PASSWORD ‘password‘;

// 数据库授权
$ GRANT ALL PRIVILEGES ON DATABASE ‘dbname‘ TO ‘username‘;

// 修改用户权限

$ ALTER ROLE ‘username‘ createdb ; (授予创建数据库权限)
$ ALTER ROLE ‘username‘ superuser ;(授予超级管理员权限)

// 角色属性

login :只有具有 LOGIN 属性的角色可以用做数据库连接的初始角色名。
superuser:数据库超级用户
createdb :创建数据库权限
createrole :允许其创建或删除其他普通的用户角色(超级用户除外)
replication :做流复制的时候用到的一个用户属性,一般单独设定。
password: 在登录时要求指定密码时才会起作用,比如md5或者password模式,跟客户端的连接认证方式有关
inherit :用户组对组员的一个继承标志,成员可以继承用户组的权限特性

原文地址:https://www.cnblogs.com/lhlucky/p/10494501.html

时间: 2024-11-09 04:49:50

postgres 基本操作的相关文章

postgres基本操作大全

首先切换到postgres用户 su - postgres -- 首先切换到postgres 常识:PG安装完后默认带有postgres库,可以先进入postgres库再去创建新库 1创建用户: postgres=# create user  testuser  with  password '123456'; CREATE ROLE 2创建数据库: postgres=# create database  testdb  owner  testuser;     创建数据库给指定用户 3将数据库

&lt;二叉树的基本操作&gt;

#include<stdio.h> #include<stdlib.h> #include<string.h> #define num 100 #define OK 1 typedef int Status; typedef char DataType; typedef struct node { DataType data; struct node *lchild,*rchild; }BinTNode,*BinTree; Status CreateBiTree(Bin

iOS_UITextField 基本操作

基本操作 UITextField *userNameTextField = [[UITextField alloc] init]; userNameTextField.frame = CGRectMake(30, 100, 220, 50); [self.window addSubview:userNameTextField]; [userNameTextField release]; // 设置样式 userNameTextField.borderStyle = UITextBorderSty

Mongodb入门系列(4)——Mongodb体系结构与客户端基本操作及注意细节

说到Mongodb的体系结构,免不了与关系型数据库做个对比.这里以MySQL为例,我们进行一些比较: 从逻辑结构上对比: MySQL层次概念 MongoDB层次概念 数据库(database) 数据库(database) 表(table) 集合(collection) 记录(row) 文档(document) 在MongoDB中没有行.列.关系的概念,集合中的文档相当于一条记录,这体现了模式自由的特点. 从数据存储结构上对比: MySQL的每个数据库存放在一个与数据库同名的文件夹中,MySQL如

Oracle的基本操作-解除用户,赋予权限

一.表的基本操作 1. 用户管理 1.1 初始状态下系统的用户 在系统用户下,执行下面的查询语句可以查看到当前系统的所有用户  select * from dba_users; 1.2 创建一个用户 SQL> create user xp identified by xp; User created. 授予连接数据库的权限:SQL> grant connect to xp; Grant succeeded. SQL> conn xp/xp;Connected. 1.3 解锁一个用户并修改

数据结构中线性表的基本操作-合并两个线性表-依照元素升序排列

#include<iostream> #include<stdlib.h> #define LIST_INIT_SIZE 10/*线性表初始长度*/ #define LIST_CREATENT 2/*每次的增量*/ typedef int ElemType; using namespace std; typedef struct SqList/*线性表的数据结构定义*/ { ElemType *elem;/*线性表基址*/ int length;/*当前线性表所含的元素个数*/ i

【华为技术】VRP平台基本操作

一.显示系统信息 <Huawei>display version 图上所示可以知道VRP平台信息,运行的版本,运行的时间 二.修改和查看设备系统时间参数 1.查看时间 <Huawei>display clock 2.修改系统日期和时间 三.进入系统视图界面 <Huawei>system-view 可以配置接口.路由协议等 四.修改设备名称 五.配置登录标语信息 [R1]header shell information "Welcome to Huawei ro

Postgres数据库中excel的导入和导出

使用Windows系统,excel的总是不可避免. Postgres版本为9.3.6:Windows 8.1 64位. 这里没有找到excel直接导入Postgres的方法,有一个工具是xlstopg,类似SQL Server的导入和导出数据向导,但不是开源的:可以到网上搜下玩玩(好像试用版只能导1000条记录),我在不知名网站上下了个企图是破解版,结果电脑中毒,花了两个晚上时间,电脑才幸而没有重装系统.我只能说有些网站太不是东西了,你说你里面很多插件(游戏的客户端.日历等乱七八糟的东西),我忍

Mysql查询优化从入门到跑路(三)查询的基本操作

查询的基本操作 1.选择操作 对应的是限制条件,操作对象是二维表的行. 优化方式:选择操作下推 目的:尽量减少连接操作前的元租数,使得中间临时关系尽量少(元祖数少,连接得到的元组数就少) 好处:这样可能减少IO和CPU的消耗.节约内存空间 2.投影操作 对用的SELECT查询的目的列对象 优化方式:投影操作下推 目的:尽量减少连接操作前的列数,使得中间临时关系尽量小(选择操作是使元组的个数尽量少,投影操作是使一条元组尽量少) 好处:虽然不能减少IO(多数数据库存储方式是行存储,元组是读取的最基本