PostgreSQL使用手册

1.软件安装


1.1系统环境

Linux: Fedora 17 x86.64

PostgreSQL: PostgreSQL 9.1.6

unixODBC: 2.3.1

1.2软件安装

可通过yum命令或者是”添加/删除软件”程序来安装PostgreSQLunixODBC。软件安装完毕,可以使用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

  • 连接数据库系统

执行命令:

psql数据库名称


3PostgreSQL基本使用方法


3.1启动和停止PostgreSQL服务

使用管理员账号(root)执行如下命令启动PostgreSQL服务:

systemctlstart postgresql.service

使用管理员账号(root)执行如下命令启动PostgreSQL服务:

systemctlstop postgresql.service

3.2查看日志

PostgreSQL提供了两个log文件,分别是:

/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帮助文档

postgres=#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命令

  • \h列出所有SQL命令

  • \hCOMMAND列出某个命令的使用方法

例子:

\hcreate view

  • 建立一个PostgreSQL用户

createuser gxas;

  • 建立用户并设置密码

CREATEUSER name PASSWORD 'string';

  • 修改用户密码

alteruser username with password 'new password'

  • 删除一个PostgreSQL用户

dropuser gxas;

  • 查看所有PostgreSQL用户

selectusename from pg_user;

或者使用:

\du

  • 建立一个数据库

createdatabase testdb;

  • 删除数据库

dropdatabase testdb;

  • 查看数据库列表

SELECTdatname FROM pg_database;

或者:

\l

3.2.4psql元命令

  • 连接到某个数据库

\clogink;

连接到数据库logink

  • 查看某个数据库内的表

\clogink;

\d

以上例子用来显示数据库logink的表

3.3执行SQL脚本

可以通过执行SQL脚本来对某个数据库进行建表,导入数据等操作

  • 编写对数据库进行操作的SQL语句,并保存到一个文本文件中。

  • 使用前面章节中的方法建立数据库

  • 执行SQL

假设数据库名字:logink

数据库用户:postres

sql文件:logink.sql

使用postgre账号执行命令:

psql-h localhost -U postgres -d logink < logink.sql


4unixODBC


4.1概述

开放数据库互连(OpenDatabase ConnectivityODBC)是微软公司开放服务结构(WOSAWindowsOpen 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使用场景

  • 数据库名: logink

  • 数据库访问帐号: postgres

  • 密码:postgres

4.2.2配置

按照如下步骤和说明进行配置:

  • 编辑/etc/odbc.ini,加入红色字体部分

[ODBCData Sources] #此部分配置所使用的数据库类型

Logink=PostgreSQL#定义一个名为Logink的数据源

MySQL=MySQL


[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#缓冲区大小

Username=postgres#数据库用户

Password=postgres#数据库用户密码

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

ReadOnly=no

Debug=1

CommLog=1


[ODBC]

InstallDir=/usr/lib64

  • 编辑/etc/odbcinst.ini,如下所示

[ODBC]

Trace =1

Debug =1

Pooling =No


[MySQL]

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连接数据库

使用isql连接数据库,执行如下命令:

isqlLogink

命令行中的Lonink/etc/odbc.ini文件中[ODBCData Sources] 设置的数据源:

[ODBCData Sources]

Logink=PostgreSQL

MySQL=MySQL


连接成功后,有如下提示符:

+---------------------------------------+

|Connected! |

| |

|sql-statement |

|help [tablename] |

|quit |

| |

+---------------------------------------+

SQL>


你可能感兴趣的:(Linux)