1.软件安装
1.1系统环境
Linux: Fedora 17 x86.64
unixODBC: 2.3.1
1.2软件安装
可通过yum命令或者是”添加/删除软件”程序来安装Postgresql和unixODBC。软件安装完毕,可以使用rpm-ql packagename来查看软件的安装内容和安装目录,例如希望查看postgresql.x86_64的安装信息,可执行如下命令:
rpm-ql postgresql.x86_64
下面列出的是需要安装的软件包列表:
-
必选软件包
postgresql.x86_64
postgresql-libs.x86_64
postgresql-server.x86_64
postgresql-odbc.x86_64
unixODBC.x86_64
-
可选软件包
postgresql-devel.x86_64
unixODBC-devel.x86_64
2.初始化数据库系统
2.1建立postgres账号
在使用Postgresql数据库之前,需建立一个名为”postgres”的Linux系统的登陆账号。使用root账号执行一下命令。
建立账号:
useradd postgres
设置密码:
passwd postgres
2.2修改配置文件
编辑/var/lib/pgsql/data/pg_hba.conf,进行如下修改:
local replication postgres peer
host replication postgres 127.0.0.1/32 ident
host replication postgres ::1/128 ident
替换为:
local replication postgres trust
host replication postgres 127.0.0.1/32 trust
host replication postgres ::1/128 trust
2.3数据库系统初始化
在初次启动Postgresql之前,需要先初始化数据库,否则直接启动数据库的时候,会报错,并提示你初始化数据库。初始化步骤如下:
-
执行如下命令,将/var/lib/pgsql/data置空:
rm-rf /var/lib/pgsql/data/*
rm-rf /var/lib/pgsql/data/*.*
-
初始化Postgresql,运行命令:
postgresql-setupinitdb
2.4测试数据库系统
-
启动数据库系统服务
运行命令:
systemctlstart postgresql.service
-
切换用户
运行命令:
su– postgres
-
连接数据库系统
执行命令:
3Postgresql基本使用方法
3.1启动和停止Postgresql服务
使用管理员账号(root)执行如下命令启动Postgresql服务:
systemctlstart postgresql.service
使用管理员账号systemctlstop postgresql.service
3.2查看日志
/var/lib/pgsql/initdb.log
/var/lib/pgsql/data/pg_log/postgresql-xxxx.log
不同机器,位置可能略有不同,这两个log文件可分别用于查看初始化的过程和启动后的工作过程。
3.2Postgresql相关操作命令
Postgresql相关软件包中包含了一些可以用来操作数据库的命令。
-
建立用户
createusergxas
dropusergxas
-
建立数据库
createdbtestdb
dropdbtestdb
3.3psql命令行
3.3.1启动命令
进入Postgresql命令行,依次执行下面两个命令:
supostgres
psql
postgres=#
3.2.2命令类型
-
sql命令
如createtable
-
psql元命令
以\开头,如\h,\d
-
help帮助文档
Type: \copyright for distribution terms
\hfor help with sql commands \h列出sql命令
\?for help with psql commands \?列出psql元命令
\gor terminate with semicolon to execute query
\qto quit退出
3.2.3sql命令
例子:
\hcreate view
createuser gxas;
-
建立用户并设置密码
CREATEUSER name PASSWORD 'string';
alteruser username with password 'new password'
-
删除一个dropuser gxas;
-
查看所有selectusename from pg_user;
或者使用:
\du
-
建立一个数据库
createdatabase testdb;
dropdatabase testdb;
-
查看数据库列表
SELECTdatname FROM pg_database;
或者:
\l
3.2.4psql元命令
-
连接到某个数据库
\clogink;
连接到数据库logink
-
查看某个数据库内的表
\d
3.3执行sql脚本
可以通过执行sql脚本来对某个数据库进行建表,导入数据等操作
假设数据库名字:logink
使用postgre账号执行命令:
psql-h localhost -U postgres -d logink < logink.sql
4unixODBC
4.1概述
开放数据库互连(OpenDatabase Connectivity,ODBC)是微软公司开放服务结构(WOSA,WindowsOpen ServicesArchitecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用sql来完成其大部分任务。ODBC本身也提供了对sql语言的支持,用户可以直接将sql语句送给ODBC。
unixODBC是一个可以让你在Unix/Linux系统下使用ODBC来连接数据库的组件。
4.2使用说明
unixODBC主要有两个配置文件:
/etc/odbc.ini
/etc/odbcinst.ini
在使用unixODBC之前,需要对这两个文件进行设置,下面举例说明具体的使用方法。
4.2.1使用场景
4.2.2配置
按照如下步骤和说明进行配置:
-
编辑/etc/odbc.ini,加入红色字体部分
[ODBCData Sources] #此部分配置所使用的数据库类型
Logink=Postgresql#定义一个名为Logink的数据源
[Logink]#数据源Logink的配置信息
;WARNING: The old psql odbc driver psqlodbc.so is now renamedpsqlodbcw.so
;in version 08.x. Note that the library can also be installed under another
;path than /usr/local/lib/ following your installation.
Driver=/usr/lib64/psqlodbcw.so#所安装的数据库的odbc驱动的位置
Description=Connectionto LDAP/POSTGREsql #描述
Servername=localhost#数据库服务器地址
Port=5432#数据库服务器端口
Protocol=6.4#协议版本
FetchBufferSize=99#缓冲区大小
Database=logink #数据库名
ReadOnly=no
Debug=1
CommLog=1
[MysqL]
Driver=/usr/lib64/libmyodbc5.so
Servername=localhost
Port=3306
Prorocol=6.4
FetchBufferSize=99
Username=root
Password=
Database=MysqL_ldap
[ODBC]
InstallDir=/usr/lib64
-
编辑/etc/odbcinst.ini,如下所示
Trace =1
Debug =1
Pooling =No
Description =ODBC for MysqL
Driver =/usr/lib64/libmyodbc5.so
Setup =/usr/lib64/libodbcmyS.so
Driver64 =/usr/lib64/libmyodbc5.so
Setup64 =/usr/lib64/libodbcmyS.so
FileUsage =1
[Postgresql]
Description =ODBC for Postgresql
Driver =/usr/lib64/psqlodbcw.so
Driver64 =/usr/lib64/psqlodbcw.so
Setup =/usr/lib64/psqlodbcw.so
Setup64 =/usr/lib64/psqlodbcw.so
UsageCount =
CPTimeout =
CPTimeToLive =
DisableGetFunctions =
DontDLCLose =
ExFetchMapping =
Threading =
FakeUnicode =
IconvEncoding =
Trace =
TraceFile =
TraceLibrary =
4.2.3连接数据库
isqlLogink
命令行中的Lonink是/etc/odbc.ini文件中[ODBCData Sources] 设置的数据源:
[ODBCData Sources]
Logink=Postgresql
连接成功后,有如下提示符:
+---------------------------------------+
|Connected! |
| |
|sql-statement |
|help [tablename] |
|quit |
sql>
原文链接:https://www.f2er.com/postgresql/195867.html -
-