随笔-124  评论-194  文章-0  trackbacks-0

最近因为用HYPERIC产品,装了一下Postgres数据库,下面简说下在WINDOWS下安装的情况。

 

下载那个直接解压版,解压

"$PG"目录下创建一个rootpass.txt文件,内容为数据库的超级用户密码。可以填个“p”,方便后面登陆。
准备工作到此结束,下面的步骤以管理员身份执行。

移动DLL文件[8.1.5及以上版本不需要这一步骤]

cd $PG

move /y lib\comerr32.dll   bin\

move /y lib\krb5_32.dll    bin\

move /y lib\libeay32.dll   bin\

move /y lib\libiconv-2.dll bin\

move /y lib\libintl-2.dll  bin\

move /y lib\libpq.dll      bin\

move /y lib\pthreadGC2.dll bin\

move /y lib\ssleay32.dll   bin\

添加新的postgres用户,并将密码设为:p

net user postgres p /ADD /EXPIRES:NEVER /PASSWORDCHG:NO

net localgroup users postgres /delete

创建data目录并设置访问权限:

md data

cacls .    /T /E /P postgres:R

cacls data /T /E /P postgres:C

POSTGRES不支持管理员状态运行,我们用RUNAS来做,如果失败,可以查下是不是有个SECOND LOGON服务是不是停了,启动一下即可。

初始化PostgreSQL数据库,切换用户时需要手动输入postgres用户的密码:p

runas /noprofile /env /user:postgres "bin\initdb -D data -E EUC_CN --locale=\"Chinese_People's Republic of China.936\" -A md5 -U postgres --pwfile=rootpass.txt"

这样就安装好了。需要说明的是数据库默认编码为:EUC_CN(GB2312),区域设置为:zh_CN.GBK,数据库超级用户名为:root,密码为rootpass.txt文件内容,使用md5认证。

以后可以使用:

runas /noprofile /env /user:postgres "bin\pg_ctl start -w -D data"

启动PG,使用:

runas /noprofile /env /user:postgres "bin\pg_ctl stop -D data -m smart"

关闭PG

 

用登录:

runas /noprofile /env /user:postgres "bin\psql -U postgres"

 

登录后就可以创用户,创数据库。

 

一些命令对比:

 

PostgreSQLMySQL命令比较

 

PostgreSQL

MySQL

服务启动:
    1)#service postgresql start
    2)#/etc/init.d/postgresql start
    3)#su – postgresql
      $pg_ctl start
PostgreSQL的进程号:12101207

服务启动:
    1)#service mysqld start
    2)#/etc/init.d/mysqld start
    3)#safe_mysqld&

 

MySQL的进程号为1663

第一次进入数据库:
    #su – postgres
    $createdb  (建名为postgres的数据库)
    $psql 

第一次进入数据库:

     #mysql
     mysql>    (出现这个提示符说明成功)

创建用户:(用户Ajian,密码:123)
    #su – postgres

$psql

=#create user ajian with password ‘123’

创建用户:(用户Ajian,密码:123)
     #grant all privileges on *.* to ajian@"%" identified by "123"

 (注意:同还可以分配权限,这里是ALL)

创建数据库(My)

    #su – postgres

$psql

=#create database My with owner = ajian template = template1 encoding=’UNICODE’;

创建数据库(My)

     1)#mysql

     Mysql>create database My;

      2)#mysqladmin create My

查看用户和数据库:

    #su – postgres

$psql

    =#\l         (查看数据库)
    =#\du        (查看用户)

查看用户和数据库:

    1)#mysql

     Mysql>show databases;   (看数据库)

      2)#mysqlshow

新建用户登录:

(首先修改配置文件)

# vi /var/lib/pgsql/data/pg_hba.conf(在最后加)

host all all 127.0.0.1 255.255.255.255 md5

再重启服务:#service postgresql restart

登录:#psql –h 127.0.0.1 –U ajian My

Password:

新建用户登录:

     1)#mysql –u ajian –p  (带口令登录)

     2)#mysql

      Mysql>use My;

     (不带口令登录一般用于本机)

创建表(employee)

=#create table employee(

(#employee_id int primary key,

(#name char(8),

(#sex char(2));

创建表:

 >create table employee(

->employee_id int primary key,

->name char(8),

->sex char(2));

查看表:

    =#\dt

查看表:

    >show tables;

查看表的结构:

    =#\d employee

查看表的结构:

    >sescribe employee;

向表中添加数据:

   =#insert into employee values

  -#(‘1’,’zhang’,’F’);

-#(‘2’,’chen’,’M’,);

向表中添加数据:

>insert into employee values

  ->(‘1’,’zhang’,’F’);

->(‘2’,’chen’,’M’,);

查看表的数据:

  =#select * from emlpoyee

查看表的数据:

>select * from emlpoyee;

创建索引(IN_employee)

=#create index IN_employee on employee(name);

查看索引:

=#\di

删除索引:

=#drop index IN_employee on employee;

重建索引:

=#reindex table employee;(重建employee所有的)

=#reindex index IN_employee;(重建指定的)

创建索引(IN_employee)

1)>create index IN_employee on employee(name);

2)>alter table employee add index IN_employee(name);

查看索引:

>show index from employee;

删除索引:

1)>drop index IN_employee on employee;

2)>alter table emlpoyee drop index IN_employee;

删除表:

   =#drop table employee;

删除表:

   >drop table employee;

删除数据库:(注意命令前面的标志)

   1)=#drop database ajian;

   2)$dropdb ajian

删除数据库:(注意命令前面的标志)

   1>drop database ajian;

   2)#mysqladmin drop ajian

 

posted on 2007-08-12 15:56 我爱佳娃 阅读(5427) 评论(0)  编辑  收藏 所属分类: DB相关

只有注册用户登录后才能发表评论。


网站导航: