一直想为 PostgreSQL 做点贡献,今天终于有空了, 于是写一个PostgreSQL 9.13 入门的教程 ...部署上可以移步这里 ...PHP 5.4.10 + Nginx 1.0.12 + PostgreSQL 9.1.3 源码编译自动化部署第二版 http://www.linuxidc.com/Linux/2012-03/55827.htm-----------------------------------------------------------------------------------------| System | CentOS 5.7-----------------------------------------------------------------------------------------
| DB | PostgreSQL 9.13-----------------------------------------------------------------------------------------lnpp脚本里面已经做了些初始化的工作,例如:
- su postgres -c "$PG_ROOT/bin/initdb -D $PG_ROOT/data && exit"
我们先输入一些数据以供后面查询
- -- Database: bpsimple
-
-
- -- DROP DATABASE bpsimple;
-
-
- CREATE DATABASE bpsimple
- WITH OWNER = postgres
- ENCODING = "UTF8"
- TABLESPACE = pg_default
- LC_COLLATE = "en_US.UTF-8"
- LC_CTYPE = "en_US.UTF-8"
- CONNECTION LIMIT = -1;
- <pre name="code" class="sql">-- Table: item
- -- DROP TABLE item;
-
- CREATE TABLE item
- (
- item_id serial NOT NULL,
- description character varying(64) NOT NULL,
- cost_price numeric(7,2),
- sell_price numeric(7,2),
- CONSTRAINT item_pk PRIMARY KEY (item_id )
- )
- WITH (
- OIDS=FALSE
- );
- ALTER TABLE item
- OWNER TO neil;
以上我直接从pgadmin 3 上的sql pane copy 下来的,是我模拟器上的现有数据,所以以上语句没有经过测试 !
http://www.postgresql.org/docs/9.1/interactive/index.html 有问题的话,可以手册一下!
接下来我们还要对postgresql 进行一些配置已经进行外部的访问 ...先进行访问授权 ...#vim $PG_ROOT/data/pg_hda.confhost bpsimple neil all trust
#vim postgresql.conf listen_addresses = "*"
port = 5432
设置完监听端口后我们重启一下postgresql ... su $PGUSER -c "$PGCTL stop -D "$PGDATA" -m fast"
su $PGUSER -c "$PGDAEMON -D "$PGDATA" &" >>$PGLOG 2>&1
具体环境变量视不同机子而定,好吧,主题开始,首先编写一个pg类 ...#vim ./pgphp/dbconn.php
- <?php
-
- class dbconn {
-
- private $linkid; // PostgreSQL link identifier
- private $host; // PostgreSQL server host
- private $db; // PostgreSQL database
- private $user; // PostgreSQL user
- private $passwd; // PostgreSQL password
- private $result; // Query result
- private $querycount; //Total queries excuted
-
- /* Class constructor. Initializes the $host, $user, $passwd
- and $db fields. */
-
- function __construct($host, $db, $user, $passwd) {
- $this->host = $host;
- $this->user = $user;
- $this->passwd = $passwd;
- $this->db = $db;
- }
-
- /* Connects to the PostgreSQL Database */
-
- function connect() {
- try {
- $this->linkid = @pg_connect("host=$this->host dbname=$this->db
- user=$this->user password=$this->passwd");
- if (!$this->linkid)
- throw new Exception("Could not connect to PostgreSQL server.");
- } catch (Exception $e) {
- die($e->getMessage());
- }
- }
-
- /* Execute database query. */
-
- function query($query) {
- try {
- $this->result = @pg_query($this->linkid, $query);
- if (!$this->result)
- throw new Exception("The database query failed.");
- } catch (Exception $e) {
- echo $e->getMessage();
- }
- $this->querycount++;
- return $this->result;
- }
-
- /* Determine total rows affected by query. */
-
- function affectedRows() {
- $count = @pg_affected_rows($this->linkid);
- return $count;
- }
-
- /* Determine total rows returned by query */
-
- function numRows() {
- $count = @pg_num_rows($this->result);
- return $count;
- }
-
- /* Return query result row as an object. */
-
- function fetchObject() {
- $row = @pg_fetch_object($this->result);
- return $row;
- }
-
- /* Return query result row as an indexed array. */
-
- function fetchRow() {
- $row = @pg_fetch_row($this->result);
- return $row;
- }
-
- /* Return query result row as an associated array. */
-
- function fetchArray() {
- $row = @pg_fetch_array($this->result);
- return $row;
- }
-
- /* Return total number of queries executed during
- lifetime of this object. Not required, but
- interesting nonetheless. */
-
- function numQueries() {
- return $this->querycount;
- }
-
- }
- ?>
RedHat配置EPEL软件源AIX中使用DBCA创建数据库ora-12547错误解决一例相关资讯 PostgreSQL PostgreSQL安装
- Linux CentOS 7 安装PostgreSQL 9. (今 08:48)
- 在CentOS 6.5上编译安装PostgreSQL (06月13日)
- PostgreSQL 发布全系安全更新 (02月12日)
| - Ubuntu 16.04 下安装 PostgreSQL (08月14日)
- Linux下RPM包方式安装PostgreSQL (03月04日)
- PostgreSQL9.5新特性之行级安全性 (01月19日)
|
本文评论 查看全部评论 (0)