启动pgsl数据库

1
pg_ctl -D /xx/pgdata start

查看pgsl版本

1
pg_ctl --version

命令行登录数据库

1
psql -U username -d dbname -h hostip -p port

列出所有数据库

1
\l

切换数据库

1
\c dbname

列出当前数据库的所有表

1
\d

查看指定表的所有字段

1
\d tablename

查看指定表的基本情况

1
\d+ tablename

退出操作

1
q

新建表

例1(主键)

1
2
3
4
5
6
create table TESTCASE(
id INTEGER,
task_class INTEGER,
age TEXT,
PRIMARY KEY(id, task_class)
);

例2(自增SERIAL

1
2
3
4
5
create table CREATETASK_CHKID_N(
id SERIAL PRIMARY KEY,
chk_id TEXT,
n INTEGER
);

其中SERIAL代表自增,默认从1开始增加,每次自增1

删除表

1
drop table REL_CROSS_NODE;

清空表

1
delete from [表名]

添加字段

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

更改字段

1
alter table [表名] rename column [旧字段名] to [新字段名];

例:把表table_ex字段col_1限制非空去掉:ALTER TABLE table_eg ALTER col_1 drop not NULL

  • 更改字段属性,含空格

如果把字段colname把属性Text转化为int,原来text里面存在空啥的,可以

1
ALTER TABLE tablename ALTER COLUMN colname TYPE int USING (trim(keyword)::integer);

删除字段

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

表中插入一行数据

1
insert into [表名] (字段1,字段2) values (值1,值2);

例如:

1
insert into assist_info (id, maat_id, block_type) values ('F006', 'F7775', 1)

注:如果表中字段有大写的字段,则需要对应的加上双引号。例:

1
insert into test (no, "Name") values ('123', 'jihite');

值用单引号引起来(‘’),不能用双引号(””)

表中删除一行数据

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

修改表中数据

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

删除表

1
drop table [表名];

退出postgreSql

1
\q

两个查询结果做差except

1
2
3
4
5
(select node_id from node where node_id=1 or node_id=2) except (select node_id from node where node_id=1);
node_id
---------
2
(1 row)

复制表

1
CREATE TABLE test_a_copy AS SELECT * FROM test_a;

命令导入sql数据文件

1
psql -h localhost -d databaseName -U username -f filename

查询结果存储到输出文件

格式:

1
\o file_path

这样就会把查询结果存储到输出文件中。例

1
2
3
postgres=> \o /home/jihite/data/iu_data;
postgres=> select test_id from cdb_all_iu_data limit 10;
postgres=> select test_id from cdb_all_iu_data limit 5;

结果:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
test_id
--------------
2143
2153
2144
2156
2145
2154
2146
2157
2147
2155
(10 rows)
 
test_id
--------------
2143
2153
2144
2156
2145
(5 rows)

数据库的备份&恢复

导出到线下文件

1
pg_dump --host hostname --port port --username username -t tablename -d dbname >/home/jihite/table.sql

把线下文件导入到数据库

1
psql -h 10.125.7.68 -p 5432 -d postgres -U postgres -W postgres -f 2.sql

\x 打开扩展显示功能

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
postgres=> \x
Expanded display is on.
postgres=> select * from cdb_chk_items where chk_id = 'R000000335';
-[ RECORD 1 ]+------------------------------------------------------------------------------------------------
chk_id | R000000335
chk_desc | 道路属性与道路属性相关检查
chk_info | {"FIELDS": {"TRAFFIC_SIGN": ["TYPE", "GEOM"], "ROAD_LINK": ["ROAD_CLASS", "FORM_WAY", "GEOM"]}}
err_desc | {"ERR2": "roadclass取值错误", "ERR1": "formway取值错误"}
chk_level | 1
is_opened | 1
module_name | TRAFFIC_SIGN
invalid_flag | 1
rel_mode | MAIN_LAYER:TRAFFIC_SIGN
: TRAFFIC_SIGN|A,M|DIRECT
: ROAD_LINK|A,M,D|ATTR_REL

从表A中把符合条件的记录拷贝到表B

1
insert into A select * from B where id in ('a', 'b', 'c');

转载自jihite博客:http://www.cnblogs.com/kaituorensheng/p/4667160.html

[转]PostgreSQL命令行使用手册的更多相关文章

  1. postgreSQL命令大全(更新中)

    1.PostgreSQL索引的建立https://blog.csdn.net/jubaoquan/article/details/78850899: 2.PostgreSQL9中索引的原理和效率查询h ...

  2. 最有用的Linux命令行使用技巧集锦

    最近在Quora上看到一个问答题目,关于在高效率Linux用户节省时间Tips.将该题目的回答进行学习总结,加上自己的一些经验,记录如下,方便自己和大家参考. 下面介绍的都是一些命令行工具,这些工具在 ...

  3. 【Linux工具】svn命令行使用实例

    引言 网上有这么多介绍 svn 使用的文章,为什么还要写?因为它们深入不浅出,平铺不分类,理论不实际,看完也记不住. 本文先介绍基本用法,后进行实例演练.不求大而全,只求熟练常用,自行用 svn he ...

  4. 【Linux 操作系统】Ubuntu 基础操作 基础命令 热键 man手册使用 关机 重启等命令使用

    . : 关机, 如果将Linux默认运行等级设置为0, 系统将无法启动; -- : 多用户模式, 允许使用网络文件系统, 一般不使用图形界面登陆就是这种模式; -- : 多用户图形界面模式, 该模式下 ...

  5. python命令行使用的问题

    python命令行使用的时候要注意一个陷阱,就是如果某个语句不是在>>>下执行的,而是在...下执行的,那么它可能没有执行成功. 例如如下没有成功,原因是上面有一句注释,导致没有执行 ...

  6. postgresql命令行[转]

    postgresql命令行 原文链接 PostgreSQL 8.1 中文文档 连接数据库, 默认的用户和数据库是postgrespsql -U user -d dbname \c dbname 切换数 ...

  7. Ubuntu 基础操作 基础命令 热键 man手册使用 关机 重启等命令使用

    . : 关机, 如果将Linux默认运行等级设置为0, 系统将无法启动; -- : 多用户模式, 允许使用网络文件系统, 一般不使用图形界面登陆就是这种模式; -- : 多用户图形界面模式, 该模式下 ...

  8. cmd命令速查手册

    CMD命令速查手册ASSOC显示或修改文件扩展名关联AT 计划在计算机上运行的命令和程序ATTRIB 显示或更改文件属性BREAK 设置或清除扩展式 CTRL+C检查CACLS显示或修改文件的访问控制 ...

  9. mac svn命令行使用入门

    本文转载至 http://blog.sina.com.cn/s/blog_6bfa2fc10101euf6.html   mac svn命令行使用入门 1. 初始化项目 svn import /Use ...

随机推荐

  1. [Java] 项目红色叹号 案例1则

    一般红色叹号是build path出错. 除了检查出错的library外,还要注意Order an Export选项中未勾选的Library. 之前导入项目后,没有勾选JRE和Maven Depend ...

  2. C#中Equals和= =(等于号)的比较)

    C#中Equals和= =(等于号)的比较) 相信很多人都搞不清Equals和 = =的区别,只是零星的懂一点,现在就让我带大家来进行一些剖析 一.           值类型的比较 对于值类型来说  ...

  3. android ------- 开发者的 RxJava 详解

    在正文开始之前的最后,放上 GitHub 链接和引入依赖的 gradle 代码: Github: https://github.com/ReactiveX/RxJava https://github. ...

  4. web前端常见面试题汇总

    一.理论知识 1.1.讲讲输入完网址按下回车,到看到网页这个过程中发生了什么 a. 域名解析 b. 发起TCP的3次握手 c. 建立TCP连接后发起http请求 d. 服务器端响应http请求,浏览器 ...

  5. 7.5 GRASP原则五:高内聚 High Cohesion

    GRASP原则五:高内聚 High Cohesion  How to keep objects focused, understandable and manageable, and as a si ...

  6. JavaScript基础二

    1.7 常用内置对象 所谓内置对象就是ECMAScript提供出来的一些对象,我们知道对象都是有相应的属性和方法 1.7.1 数组Array 1.数组的创建方式 字面量方式创建(推荐大家使用这种方式, ...

  7. django-celery的配置及使用

    Celery简介 Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理 celery的应用 异步调用:那些用户不关心的但是又存在在我们API里面的操作 ...

  8. 轻松学习java可重入锁(ReentrantLock)的实现原理

    转载自https://blog.csdn.net/yanyan19880509/article/details/52345422,(做了一些补充) 前言 相信学过java的人都知道 synchroni ...

  9. 单机器搭建 zk 集群

    在一台机器上配置 2 节点的 zk 集群,zk1 和 zk2 的 serverid 分别为 1 和 2,本机 ip 是 192.168.40.1 zk1 相关配置: dataDir=E:/test/z ...

  10. C++将数组的元素顺序随机打乱

    参考: https://blog.csdn.net/cordova/article/details/52884399 https://zhidao.baidu.com/question/1604258 ...