Shell
的一些注意事项。
1,
所有命令都要以分号
(
;
)
结尾,否则
shell
会以为你上一条命令还没有输入完,只是因为太长而分成几行输入了。
2,
有路径名的时候,要用引号括起来。
3,
Windows
下面,
Windows
的路径名是用
\
来的,如
C:\Windows\System32
,而
Unix
系的都是用
/
的,如
/home/louyx/sec/
。
Postgresql
对这个处理的不好,在
Win
下面也要用
/
,例如
D:/nsar_forms/xxx.txt
。
4,
一些
meta-command
,也即那些不是直接
sql
的,一般以反斜杠
\
开头,常用的几个是:
\c nsar;
连接到(切换到)
nsar
这个数据库。
\i ‘D:/table-def.sql‘;
导入并执行
sql
命令文件,可以将许多命令序列写到一个文件里面,然后导入执行。
\q;
退出
shell
。
5,
导入
/
导出某个
table
为
csv
参见
http://www.postgresql.org/docs/9.0/static/sql-copy.html
6,
更改某用户密码,
alter user louyx with password ‘you-cannot-know’;
sql
相关的
7,
比较的时候更改类型或做其他操作(统称为对某列做
function
以后再比较),如
Select ... from A, B where cast(a.cik, integer) = cast(b.cik, integer);
Select ... from A, B where upper(a.name) = upper(b.name);