加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

PostgreSQL使用手册

发布时间:2020-12-13 17:31:39 所属栏目:百科 来源:网络整理
导读:1. 软件安装 1.1 系统环境 Linux: Fedora 17 x86.64 PostgreSQL: PostgreSQL 9.1.6 unixODBC: 2.3.1 1.2 软件安装 可通过 yum 命令或者是”添加 / 删除软件”程序来安装 PostgreSQL 和 unixODBC 。软件安装完毕,可以使用 rpm-ql packagename 来查看软件的安

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

使用管理员账号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元命令

开头,如hd

  • 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'

  • 删除一个dropuser gxas;

    • 查看所有selectusename from pg_user;

      或者使用:

      du

      • 建立一个数据库

      createdatabase testdb;

      • 删除数据库

      dropdatabase testdb;

      • 查看数据库列表

      SELECTdatname FROM pg_database;

      或者:

      l

      3.2.4psql元命令

      • 连接到某个数据库

      clogink;

      连接到数据库logink

      • 查看某个数据库内的表

      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

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

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

      isqlLogink

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

      [ODBCData Sources]

      Logink=PostgreSQL

      MySQL=MySQL


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

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

      |Connected! |

      | |

      |sql-statement |

      |help [tablename] |

      |quit |

      SQL>

      (编辑:李大同)

      【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读