postgressql

首先创建一个数据库,假设名字是abc

createdb abc

然后进入数据库abc

psql abc

终端提示:

psql (9.1rc1)
Type "help" for help.
abc=# 

说明我们已经进去啦,

然后创建一个score表:

CREATE TABLE score (id int, name varchar(20), score real);
如果看到"CREATE TABLE"的字样就说明表已经建好了。

注意,PostgreSQL的所有语句都要以;结尾,否则PostgreSQL会换一行等待你继续输入;

 

下面我们插入一条记录:

INSERT INTO score VALUES (1, 'JOHN', 90);

如果看到"INSERT 0 1"的字样就说明记录已经插进去了。

查询score表:

SELECT * FROM score;

显示:

 id | name | score 
----+------+-------
  1 | JOHN |    90
(1 row)

查看score表的表结构信息:

\d score

显示如下:

          Table "public.score"
 Column |         Type                        | Modifiers 
-----------+--------------------------------+-----------
 id        | integer                             | 
 name   | character varying(20)     | 
 score    | real                                  

 

score表的id列上建一个索引id_score

create index id_score on score(id);
如果看到“CREATE INDEX"的字样就说明索引已经建好了。

这个时候再 \d score 查看表结构时输出如下:

            Table "public.score"
 Column |         Type                        | Modifiers 
-----------+--------------------------------+-----------
 id           | integer                             | 
 name    | character varying(20)     | 
 score    | real                                  
Indexes:
    "id_score" btree (id)

然后显示现有的索引:

\di

如果显示No relations found.表示目前的数据库中还没有索引。 

删除score表:

DROP TABLE score;
如果看到"DROP TABLE"的字样就说明score表已经被删除了。

 

退出PostgreSQL

\q

以下还有一些PostgreSQL的常用命令:

\l                        列出已有数据库的OwnerEncoding等信息

\c                       切换数据库(切换数据库表示其后进行的操作,如insert等都将作用在切换后的数据库上)

比如目前提示符是:abc=# 那么输入 \c mydb 后,提示符变成了mydb=#,表示切换到了mydb数据库。

\dt                      查看当前数据库中已有的表

下面介绍如何备份数据库:

首先在abc数据库中创建一个price表,并插入一些数据:

\c abc;                                          #切换到abc数据库

CREATE TABLE price (id int, name varchar(100), price real);

INSERT INTO price VALUES (1, 'apple', 10);

INSERT INTO priceVALUES (2, 'orange', 5);

INSERT INTO price VALUES (3, 'banana', 20);

INSERT INTO price VALUES (4, 'peach', 15);

INSERT INTO price VALUES (5, 'pear', 8);

然后退出PostgreSQL\q

在终端输入:

pg_dump abc >abc.pgsql                 #abc数据库备份到abc.pgsql文件里

恢复数据库:

首先退出PostgreSQL,然后在终端输入:

dropdb abc                              #删除abc数据库

然后输入 psql abc 会提示:psql: FATAL:  database "abc" does not exist  表式abc数据库不存在。

然后在终端输入:

createdb abc                    #恢复数据库前先建立一个空的数据库

psql abc < abc.pgsql       #表示把abc.pgsql导入abc数据库中

psql abc                            #进入abc数据库

select * from price;          #会发现之前插入的数据又回来啦。

另外,同样可以将所有的SQL语句保存在一个文件里,数据库重建的时候导入这一个文件就可以了,很方便:

首先假设在data/下新建一个a.pgsql

CREATE TABLE one(id int);
INSERT INTO one VALUES(123);

然后:

cd /usr/local/pgsql/data

psql abc < a.pgsql       #表示把a.pgsql导入abc数据库中(注意,我们之前已经创建了abc数据库)

以上就是基本的数据库操作啦,SQL语句的绝大部分语法在PostgreSQL里都是适用的。

以下是一些补充:

PostgreSQL的配置文件是/usr/local/pgsql/data/postgresql.conf,可以更改用户登录端口和最大连接用户数,

vi  /usr/local/pgsql/data/postgresql.conf

#的行表示这是一个注释行。

找到以下的以下内容:

listen_addresses = 'localhost'    #说明PostgreSQL默认只允许本地登录,要远程登录需要改成listen_addresses = '*' 

port = 5432                                 #PostgreSQL默认监听端口是5432(可以netstat -tnl|grep 5432来验证以下)
max_connections = 100             PostgreSQL
默认最大连接数是100

还有其他的设置都在postgresql.conf,可以好好看看。

以下是网上找的一些configure时候的常用选项(可以通过 configure --help查看):

configure --prefix=XXX

为安装 PostgreSQL 选择一个不同的路径。缺省是 /usr/local/pgsql

configure --enable-multibyte 

允许使用多字节字符编码。这个选项主要用于象日语,韩语或中文这样的语言。

configure --with-perl 
添加 Perl 模块接口。请注意 Perl 接口将安装到 Perl 模块的常用位置(典型的是在 /usr/lib/perl),所以要成功使用这个选项,你必须有 root 权限。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值