PostgreSQL--安装数据库

 

http://www.wohedb.com/db_html_doc/db_tutorial/tutorial_1_install.htm

 

http://www.wohedb.com     中文数据库管理系统

 

第一章     安装数据库

 

1.1安装软件

数据库软件安装的过程很简单,将软件包直接解开,即可使用,假设数据库软件包是postgres.tar.gz,执行下面两个命令就可以解开软件包:

1) gzip -d postgres.tar.gz
2tar xvf postgres.tar

 

假设解开后的软件包存放在目录/home/test/postgres下,应该在操作系统中设置将/home/test/postgres/bin添加到PATH环境变量中,将/home/test/postgres/lib添加到LD_LIBRARY_PATH环境变量中。

 

如果使用的是bash,执行下面两个命令来设置这两个环境变量:

 

export  PATH=/home/test/postgres/bin:$PATH

export  LD_LIBRARY_PATH=/home/test/postgres/lib:$LD_LIBRARY_PATH

 

如果使用的是csh,执行下面两个命令来设置这两个环境变量:

 

setenv  PATH=/home/test/postgres/bin:$PATH

setenv  LD_LIBRARY_PATH=/home/test/postgres/lib:$ LD_LIBRARY_PATH

 

 

1.2创建数据库集群

安装好数据软件以后,应该使用数据库提供的工具initdb来创建一个数据库集群。一个数据库集群由多个数据库组成,一个数据库实例(所有的数据库进程加上它们使用的共享内存)只能管理一个数据库集群。

 

使用initdb创建数据库集群时,必须指定数据库使用的字符集和一个数据文件目录,数据文件目录中将存放数据库集群中的所有数据库的数据文件。当前PostgreSQL数据库可以使用的支持中文的字符集是utf8initdb使用选项--locale指定数据库的字符集,使用选项-D指定数据文目录。 例如:

 

initdb --locale=zh_CN.utf8  -D /home/testdb

 

这个命令创建了一个数据库集群,它使用的字符集是utf8,所有的数据文件都存放在目录/home/testdb下面。 

 

选项-D指定的目录如果不存在,initdb会自动创建这个目录。选项-D指定的目录如果存在,则它必须是个空目录,否则initdb将会报错,并停止执行。

 

initdb命令会在创建一个数据库集群以后,会自动在集群中创建一个名为postgres的数据库。同时会自动创建一个数据库超级用户postgresinitdb在执行的过程中会要求为这个用户指定一个密码。

 

 

1.3启动和关闭数据库

使用工具pg_ctl 来启动和关闭数据库。启动和关闭数据库时必须指定数据文件的目录,和initdb一样,使用-D选项来指定数据文件目录。

 

下面的命令启动位于/home/oracle/testdb的数据库:

pg_ctl  –D /home/oracle/testdb   start

 

下面的命令关闭位于/home/oracle/testdb的数据库:

pg_ctl  –D /home/oracle/testdb   stop

 

pg_ctl来启动和关闭数据库时,每次都要指定数据文件目录很不方便。可以将操作系统环境变量PGDATA的值设为数据文件的目录,这样就可以用pg_ctl  start来启动数据库,用pg_ctl stop来关闭数据库。

 

使用pg_ctl stop关闭数据库时,等所有的用户从数据库中退出以后,数据库才会被关闭,等待的时间可能比较长。如果想快速关闭数据库可以用pg_ctl stop -m fastpg_ctl stop -m immediateimmediate是最快的关闭数据库的方式,所有的数据库进程将被直接杀死。使用fast关闭数据库时,首先进行回滚正在执行的事务的操作,然后再关闭数据库。

 

数据库启动以后,执行操作系统命令ps -efw可以看到下面几个进程:

 

yan       8181     1  0 22:02 pts/3    00:00:00 pg_postmaster

yan       8184  8181  0 22:02 ?        00:00:00 pg_logger

yan       8186  8181  0 22:02 ?        00:00:00 pg_db_writer

yan       8187  8181  0 22:02 ?        00:00:00 pg_wal_writer

yan       8188  8181  0 22:02 ?        00:00:00 pg_autovacuum_launcher

yan       8189  8181  0 22:02 ?        00:00:00 pg_archiver

 

 

另外,数据库运行日志中可以看到下面的信息:

 

日志:  00000: 数据库上次于2009-03-01 21:41:05 CST被关闭。

 

日志:  00000: 自动vacuum控制进程已启动。

 

日志:  00000: 数据库已经准备好接受用户连接请求。

 

数据库运行日志一般存放在数据文件目录的pg_log子目录下面。

1.4访问数据库

数据库启动以后,可以使用工具psql来访问数据库。使用psql连接数据库时,必须指明运行数据库的服务器的名字(-h)、数据库监听的端口号(-p)、要连接的数据库的名字、数据库用户名(-U),有时还需要指定数据库用户的密码(-W)如果没有指明数据库用户名,则默认以postgres作为用户名连接数据库。如果没有指明数据库名称,则默认以postgres作为数据库的名称。例如:

 

1下面的命令试图连接数据库postgres,运行数据库的机器名是server_1,数据库监听的端口是5432,连接数据的用户名是postgres,用户postgres的密码是abcde:

 

psql  -h  server_1  -p 5432  –U  postgres  –W abcde    postgres

 

2下面的命令同样试图连接数据库postgres,运行数据库的机器名是server_1,数据库监听的端口是5432,连接数据的用户名是postgres,用户postgres的密码是abcde,在这条命令中没有使用选项-U来指定数据库用户名,也没有指定要连接的数据库用户名。系统默认用postgres作为数据库用户名和数据库的名字:

 

psql  -h  server_1  -p 5432    –W abcde

 

 

连接成功以后,将会得到下面的提示信息:

 

欢迎使用 psql 8.3.3 (server ), PostgreSQL 交互终端.

 

Type:  /copyright  列出版权信息

       /h  列出SQL命令

       /?  列出psql命令

       /g  或者以分号结束执行查询

       /q  退出

 

如果设置了环境变量PGHOSTPGPORT,  而在用psql连接数据库时,没有指定运行数据库的服务器的名字和数据库监听的端口号,将用PGHOSTPGPORT的值分别作为运行数据库的服务器的名字和数据库监听的端口号。

 

用户可以用在psql中执行create database命令来创建自己的数据库。例如,下面的命令创建一个名为mydb的数据库:

 

postgres=# create database mydb;

CREATE DATABASE

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值