1.如何在Windows平台上的安装PostgreSQL
PostgreSQL的现有版本在不增加可供购买的商业应用包时,并不降低其使用价值,反而由于它的plpgsql包和C及ODBC接口的存在,使数据库系统在二次开发的过程中,可最大程度地保护已经投入的程序资产。
宿主平台在Linux和类UNIX平台上,PostgreSQL8.2.4 比较适合 RedHat 的 AdvanceServer4和 Kylin2.1,这两个平台对于这一版本的PostgreSQL有最为接近的升级兼容性,两者的表示层都是BSD血统,使用的C库都在一个版本层中,系统的主要部分都很成熟,移植的问题基本上不存在。 对于Windows平台,目前典型的是2K和2K3,以及XP。
在2K平台上兼容性极好,运行稳定,并且在数据库内部的操作与其它平台上的版本完全一致,这给数据库应用在不同平台之间的移植打下了良好的基础。 Windows平台安装实践所选择的平台是Windows2K。
安装过程和一般应用程序的安装差不多,根据自己的需要指定安装选项,没有过多的要求。安装完毕并启动后,做以下几件事: (1)写一个文本文件,并命名为“pgpass.conf”,内容为: localhost:5432:postgres:postgres:qazwsxedc 其中“localhost”表示使用了UNIX域的Socket方式,这是为安全而考虑的。
第二个字段是端口,第三个字段是数据库名,第四个字段是帐户名,第五个 字段是口令。可以有多行,每行代表一个数据库帐户。
(2)上述文件放到以下路径: C:\Documents and Settings\postgresql\Application Data\postgresql 如果是不同的帐户,例如我使用的帐户是“campus”,那么路径为: C:\Documents and Settings\campus\Application Data\postgresql (3)打开ODBC数据源 --> 控制面板 --> 管理工具 --> ODBC数据源,在选项卡“用户DSN”中选择“添加”并打开,在列表中选择“PostgreSQL Unicode”并按“完成”。如果需要,也可以在选项卡“系统DSN”中按同一步骤添加。
(4)在列表中选择“PosgreSQL30W”,打开“配置”窗口,依次填入必要的信 息。在我的例子中,Database是“center”,Server是“Localhost”, Port是5432,UserName和Password根据自己的情况填写。
(5)按“Test”按钮,对话窗出现,显示“Connect successful”,然后按“Save”保存并退出。 (6)在VB、VC或是ASP中,按通常的方法选择数据源,这就完成了PostgreSQL在Windows系统上的全部安装过程。
我的应用数据库安装方法采用以文本文件的形式加上批处理过程来进行。关于建库的一段语句如下: select 'Create table space 。
' ; CREATE TABLESPACE campus_center -- 创建表空间 OWNER campus LOCATION 'E:/cps/campus_center' ; select 'Create database Center 。 。
' ; create database center -- 创建数据库 with template = template0 owner = campus tablespace = campus_center encoding = 'euc_cn' ; select 'Create Procedural Language PL/pgSQL 。' ; CREATE TRUSTED PROCEDURAL LANGUAGE 'plpgsql' -- 注册使用的解释器 HANDLER plpgsql_call_handler VALIDATOR plpgsql_validator其中,在建库时一定要指定参数“encoding = 'euc_cn'”,否则在Windows平台上会出现乱码。
批处理文件的内容大致如下: @echo off mem initdb.bat mkdir E:\cps\campus_center "D:\Program Files\PostgreSQL\8.2\bin\psql.exe" -h localhost -p 5432 postgres "postgres" -f .\00_wincenter_make.sql > .\initwin.log 2> .\initwin2.log 。 。
命令“mkdir”建立一个操作系统目录,作为将要建立的应用所使用的表空间。注意第二条命令“psql.exe”使用了全路径,后面的语句都是在一行上,不可中断。
命令使用文件“00_wincenter_make.sql”来创建数据库,产生的标准输出和标准错误分别向文件“initwin.log”和“initwin2.log”中写入,可用于建库过程中的诊断。后续语句可仿此办理,但输出换向符应由“>”改为“>>”,以追加信息到诊断日志尾部。
通常在诊断日志文件“initwin2.log”中找不到字符串“ERROR”时,可以认为应用数据库已经成功安装并运行了。 注意事项:如果在VB下使用PostgreSQL8.2.4,那么VB的版本要低于VS2005,否则接口不兼容。
这也是所谓“.net”战略的排他性。
2.如何安装PostgreSQL
PostgreSQL安装:一、windows下安装过程
安装介质:postgresql-9.1.3-1-windows.exe(46M),安装过程非常简单,过程如下:
1、开始安装:
2、选择程序安装目录:
注:安装 PostgreSQL 的分区最好是 NTFS 格式的。PostgreSQL 首要任务是要保证数据的完整性,而 FAT 和 FAT32 文件系统不能提供这样的可靠性保障,而且 FAT 文件系统缺乏安全性保障,无法保证原始数据在未经授权的情况下被更改。此外,PostgreSQL 所使用的"多分点"功能完成表空间的这一特征在FAT文件系统下无法实现。
然而,在某些系统中,只有一种 FAT 分区,这种情况下,可以正常安装 PostgreSQL,但不要进行数据库的初始化工作。安装完成后,在 FAT 分区上手动执行 initdb.exe 程序即可,但不能保证其安全性和可靠性,并且建立表空间也会失败。
3、选择数据存放目录:
4、输入数据库超级用户和创建的OS用户的密码
注:数据库超级用户是一个非管理员账户,这是为了减少黑客利用在 PostgreSQL 发现的缺陷对系统造成损害,因此需要对数据库超级用户设置密码,如下图所示,安装程序自动建立的服务用户的用户名默认为 postgres。
5、设置服务监听端口,默认为5432
6、选择运行时语言环境
注:选择数据库存储区域的运行时语言环境(字符编码格式)。
在选择语言环境时,若选择"default locale"会导致安装不正确;同时,PostgreSQL 不支持 GBK 和 GB18030 作为字符集,如果选择其它四个中文字符集:中文繁体 香港(Chinese[Traditional], Hong Kong S.A.R.)、中文简体 新加坡(Chinese[Simplified], Singapore)、中文繁体 台湾(Chinese[Traditional], Taiwan)和中文繁体 澳门(Chinese[Traditional], Marco S.A.R.),会导致查询结果和排序效果不正确。建议选择"C",即不使用区域。
----我选择了default localt,安装正确;建议选择default localt。
7、安装过程(2分钟)
8、安装完成
3.如何启动和简单使用POSTGRESQL?
进入PSQL的安装目录,在bin文件夹下启动终端,先用postgres用户登录。
然后键入。/pg_ctl -D /usr/local/pgsql/data -l logfile start即可启动。
建立名为test的数据库:。/createdb test。
创建新表 先进入管理数据库模式 。/psql test postgres@linux-eaho:/usr/local/pgsql/bin> 。
/psql test Welcome to psql 8。3。
3, the PostgreSQL interactive terminal。 Type: copyright for distribution terms h for help with SQL commands ? for help with psql commands g or terminate with semicolon to execute query q to quit test=# 用SQL语句建表 test=# CREATE TABLE weather ( test(# city varchar(80), test(# temp_lo int, -- 最低气温 test(# temp_hi int, -- 最高气温 test(# prcp real, -- 降水量 test(# date date test(# ); 看到最后出现CREATE TABLE说明建表成功! 特别主义所有语句都以“;”结束!!! 用SQL语句插入数据 test=# INSERT INTO weather VALUES ('San Francisco', 46, 50, 0。
25, '1994-11-27'); INSERT 0 1 用标准的SQL语句即可实现数据库操作功能,还可以通过文本文档来操作。 test=#COPY weather FROM '/home/user/weather。
txt'; 查询一个表: SELECT * FROM weather; 编辑特别推荐: ·计算机三级的四个类别看看你适合哪个 ·全国计算机等考三级数据库模拟试题及参考答案 ·全国计算机等级考试三级数据库技术训练题。
4.SQLServer:PostgreSQL怎么备份脚本?
1。
建立备份目录,设置所有者为postgres 2。 修改pgsql_backup。
conf文件,设置需要备份的数据库的数据目录database,和备份目录backup 3。 修改数据库的配置文件postgresql。
conf文件,修改archive_command = '/path/to/pgsql_backup。 sh archive %p %f' 4。
以postgres用户身份建立定期任务,定期执行pgsql_backup。sh xlog 5。
执行pgsql_backup。sh base进行基础备份(之前,最好执行一次vacuumdb -afz) 6。
执行pgsql_backup。sh clean 清除指定时间以前的备份数据 以下是备份脚本pgsql_backup。
sh #!/bin/bash # 备份PostgreSQL数据库 # 支持以下命令: # base: 进行一个基础备份 # archive: 归档数据库日志(用于设置postgresql。 conf中的archive_command参数) # xlog: 复制当前部分填充的日志段 # clean:删除指定日期之前的备份数据 # #database=/raid/postgresql/8。
1/main #backup=/data/backup/database 。 /etc/admin/pgsql_backup。
conf base() { local v=$(date "+%Y%m%d") local d="$backup/base/$v" mkdir -p "$d" # vacuumdb -afz psql template1 -c "select pg_start_backup('$v');" (cd "$database"; cp -a $(ls | sed 's/pg_xlog//') "$d") psql template1 -c "select pg_stop_backup();" } # archive_command = '/raid/bin/pgsql_backup。 sh archive %p %f' archive() { local p="$1" local f="$2" if [ "$p" = "" ] || [ "$f" = "" ] || [ -f "$backup/archive/$f" ]; then return 1 fi mkdir -p "$backup/archive" cp -a "$p" "$backup/archive/$f" } xlog() { mkdir -p "$database/pg_xlog" rsync -a --delete "$database/pg_xlog" "$backup" } clean() { local t=$(echo "$1" | grep -E '^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$') if [ "$t" = "" ]; then echo "Timestamp '$1' error" return 1 fi touch -d "$t" "$backup/base/timestamp" echo -n "Clean archived logs before $(date -r "$backup/base/timestamp" +"%Y-%m-%d")? [y/N] " read a if [ "$a" != "y" ]; then return 1 fi echo "cleaning。
" find $backup/archive -mindepth 1 -maxdepth 1 -not -newer $backup/base/timestamp -print -exec rm -rf {} \; find $backup/base -mindepth 1 -maxdepth 1 -not -newer $backup/base/timestamp -print -exec rm -rf {} \; echo "done。 " } case $1 in base) base ;; archive) archive "$2" "$3" ;; clean) clean "$2" ;; xlog) xlog ;; *) echo "usage: $0 {base|archive|xlog|clean}" exit 1 ;; esac。
5.怎么备份PostgreSQL和MySQL数据库?
无论是MySQL还是PostgreSQL数据库,如果你不能每天对其进行备份的话,那么应该每周对这些数据库进行备份操作一次。
对许多企业来说,数据库信息代表着网站内容和其它重要的数据,因此,保持数据备份是非常重要的操作。 庆幸的是,MySQL和PostgreSQL都提供将数据库转化成flat-text文件的工具,这样你就可以将数据库信息输入到其它系统或者将数据库备份并保留它。
为了备份一个MySQL数据,可以使用mysqldump工具。例如,为了备份一个叫data的数据库,用户可以进行如下操作: $ mysqldump -u webuser --password=pass data >data。
dump 因为通常情况下,mysqldump采用的是标准格式,你应该将这一标准格式改写成一个文件名(在本例中写成data。 dump)。
对于这种自动备份的方法,唯一缺陷就是必须在命令行指定密码。 为了备份一个PostgreSQL数据库,可以使用pg_dump工具。
访问数据库的用户需要运行这一工具。根据PostgreSQL规定的主机访问规则,你可能不需要给数据库输入密码就可以获得该数据库的信息。
操作过程如下: $ pg_dump data >data。dump 这与mysqldump工具同样有效,但是后者不要求用户名或者密码之类的信息,因为你是作为有权限访问该数据库的用户身份来运行这一工具。
在这两种数据库备份方法中,生成的输出文件提供了重新创建整个数据库的操作说明。 因此,这一输出文件包含了数据和表格结构,这正是你创建数据库所必要的信息。
通过以上两类命令,你还可以使用另外一些命令行获取想保存的数据。对于这两类命令,你可以登录网站主页与阅读所有操作信息,并自定义你的数据库备份操作。
6.如何安装并且开始调试PostgreSQL
如何安装并且开始调试PostgreSQL
1. 安装Linux操作系统
注意把gdb、Emacs或DDD这些开发工具都安装上。如果是在虚拟机上安装,依然需要设置Linux系统的网络环境;另外需要设置文件共享,方便windows下面的postgreSQL源码能在Linux下面访问到。
2. 安装PostgreSQL
useradd postgre
(自动建立 postgre 组;设计人员为了安全考虑,PostgreSQL 不能以root 用户运行,所以必须建立对应的用户和组。)
解压到 /usr/local/src
tar xvfz postgresql-8.4.tar.gz
cd postgresql-8.4
./configure --prefix=/usr/local/pgsql --enable-debug --enable-assert --without-readline --without-zlib
make
make install
chown -R postgre.postgre /usr/local/pgsql
3. 设置Postgres环境变量(非必须)
vi ~postgre/.bash_profile
添加:
PGLIB=/usr/local/pgsql/lib
PGDATA=$HOME/data
PATH=$PATH:/usr/local/pgsql/bin
MANPATH=$MANPATH:/usr/local/pgsql/man
export PGLIB PGDATA PATH MANPATH
4. 建立数据库
以 postgres 用户登录:
su postgre
建立数据库目录:
mkdir data
启动数据库引擎:
initdb –D “数据库目录”
之后可以根据提示,通过psql进入数据库
5. 构造PostgreSQL调试环境
先 psql template1进去,然后
select pg_backend_pid();
获得id,就是gdb后面用到的数字
gdb /usr/local/pgsql/bin/postgres 997(pid的数字)
如果只使用gdb,全部是命令行界面;而Emac、DDD分别是彩色、黑白用户交互式图形界面。
6. 使用gdb进行调试
转载请注明出处windows之家 » postgresql在win10上安装