postgreSQL 使用,及 php 连接 使用

最近由于MysqL服务器压力过大,老大决定在本地测试一下postgresql性能

从网上淘了两篇入门使用的文章学习。感谢原创作者。

转载地址: http://hi.baidu.com/%BD%AD%C3%E6%C1%B0%E4%F4/blog/item/9256c7b2a32833b7d9335a41.html

http://www.gaobo.info/read.php/394.htm

(1)postgresql的基本使用

导出数据库的命令:

pg_dump -Upostgres -d databasename > database_back.sql

导入数据库的命令:

psql -Upostgres -f database_back.sql -d databasename

1.测试数据库启动与否定命令是:

psql -Upostgres postgres

2.创建database的命令是

createdb -Upostgres -Eunicode databasename

databasename是数据库名称,根据个人需要更改成子需要的名称

3备份数据库的命令是:

pg_dump -b -c -Eunicode -o -O -Fc -Z9 -Upostgres databasename > databasename.dmp

4.恢复数据库的命令是:pg_restore -dap -i -v -c -O -Upostgres -Fc databasename.dmp

5.删除数据库的命令是:dropdb -Upostgres databasename

6.建立数据库的命令是:createdb -Eunicode -Upostgres databasename

7.修改记录的命令是:

psql database -Upostgres

update "public"."tb_apmacaddr" set "lastcomunicationtime"= '2009-08-11 19:12:29';

8.安装数据库和测试基本的命令是:

apt-get install postgresql-8.3

psql -Upostgres postgres

(2) 使用PHP连接postgresql

主要有以下四种方法

1、用adodb联结:

<?PHP

Session_Start();

$user=$_POST["user"];

$pwd=$_POST["pwd"];

if(isset($user)) {

$_SESSION["user"]=$user;

$_SESSION["pwd"]=$pwd;};

session_write_close ();

error_reporting(0);

include_once('/usr/share/PHP/adodb/adodb-errorhandler.inc.PHP');

include_once('/usr/share/PHP/adodb/adodb.inc.PHP');

$db =&ADONewConnection('postgres'); # eg 'MysqL' or 'postgres'

// $db->debug = true;

$host='xxx.xxxx.xxx';

$port='5432';

$dbname='test';

$user=$_SESSION["user"];

$password=$_SESSION["pwd"];

$conn_string = "host=$host dbname=$dbname user=$user password=$password port=$port";

$db->Connect($conn_string) or die("can't connect!");

?>

2、直接联结:

<?PHP

//dl('pgsql.so');

Session_Start();

$user=$_POST["user"];

$pwd=$_POST["pwd"];

if(isset($user)) {

$_SESSION["user"]=$user;

$_SESSION["pwd"]=$pwd;};

session_write_close ();

echo '<Meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';


$host='xxxx.xxxx.xxxx';

$port='5432';

$dbname='test';

$conn_string = "host=$host dbname=$dbname user=$user password=$password port=$port";

$dbconn = pg_connect($conn_string) or die("Could not connect");

if ($dbconn){echo 'ok';}else{echo 'fales';};

print_r(pg_version());

$query='select * from bzzl';

$rs=pg_query($dbconn,$query);

$fd=pg_fetch_assoc($rs);

echo "\n";

$myfd=$fd['dw'];

echo $myfd;

pg_close($dbconn);

?>

3、使用pdo联结:

<?PHP

// Connect to an ODBC database using driver invocation

$htmm='<html>';

$htmm.='<head>';

$htmm.="<Meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>";

$htmm.='<title>产品基础数据</title>';

$htmm.='</head>';

echo $htmm;

$host='xxx.xxxx.xxxx';

$port='5433';

$dbname='test';

$user='xxxxxx';

$password='xxxxxxxxxxxxx';

//$cc = "host=$host,dbname=$dbname,port=$port";

$dsn = "pgsql:host=$host port=$port dbname=$dbname";



try {

$dbh = new PDO($dsn,$user,$password);

} catch (PDOException $e) {

echo 'Connection Failed: ' . $e->getMessage();

}

//echo "<p>";

echo '<table border=1 borderwidth=0>';

$sql='select * from cpjcsj';

print '<tr><th>产品代码</th><th>产品代号</th><th>产品名称</th></tr>';

foreach ($dbh->query($sql) as $row) {

print '<tr><td>'.$row['cpdm'].'</td>';

print '<td>'.$row['cpdh'] . '</td>';

print '<td>'.$row['cpmc'] . '</td></tr>';

}

// echo "</p>";

echo "</table>";

$dbh->disconnect;

?>


4、使用pear-db联结

<?PHP

require_once 'DB.PHP';


$dsn = array(

'PHPtype' => 'pgsql',

'username' => 'xxxxxxxx',

'password' => 'xxxxxxxxxx',

'hostspec' => 'xxxx.xxxx.xxxx',

'database' => 'xxxxx',

'port' => '5433'

);


$options = array(

'debug' => 2,

'portability' => DB_PORTABILITY_ALL,

);


$db =& new DB;

$conn=$db->connect($dsn,$options);

if (PEAR::isError($db)) {

die($db->getMessage());

}else{echo 'dbconnect ok';}

$sql='select * from cpjcsj;';

$sth=&$conn->prepare($sql);

$res=&$conn->execute($sth);

if (PEAR::isError($res)) {

die($res->getMessage());}

while ($res->fetchInto($row)) {

// Assuming DB's default fetchmode is DB_FETCHMODE_ORDERED

echo $row[1] . "\n";

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


项目需要,有个数据需要导入,拿到手一开始以为是mysql,结果是个PostGreSQL的数据,于是装数据库,但这个也不懂呀,而且本系统用的Oracle,于是得解决迁移转换的问题。 总结下来两个思路。1、PostgresToOracle多金的
本文小编为大家详细介绍“怎么查看PostgreSQL数据库中所有表”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么查看PostgreSQL数据库中所有表”文章能帮助大...
错误现象问题原因这是在远程连接时pg_hba.conf文件没有配置正确。  pg_hba.conf文件在Postgre安装文件目录下的data文件夹中。解决方案1、进入到data目录下,找到pg_hba.conf文件
因本地资源有限,在公共测试环境搭建了PGsql环境,从数据库本地localhost访问正常,在相同网段的远程机器访问报如下错误
wamp 环境 这个提示就是说你的版本低于10了。 先打印php_info(),查看自己的版本(我这边是已经处理后的,之前的忘记截图了)
psycopg2.OperationalError: SSL SYSCALL error: EOF detected 问题提示:exception psycopg2.OperationalError
项目 postgres 连接不上, 所有连接报错 :psql: FATAL: sorry, too many clients already问题原由程序使用连接未及时释放, 连接一直处于 idle 状态处理方式1、 程序里面未释放的连接, 在使用后及时释放
服务器在同一个数据目录上启动了两个PostgreSQL实例(它已经删除postmaster.pid并使用了新的端口号,因此绕过了这种行为的正常保护措施被绕过),导致PostgreSQL的误操作postgresql 报错 FATAL: the database system is
问题原因:数据库崩溃,内存不足造成 或者 数据已损坏,磁盘故障造成首先介绍一下背景,在测试Deepgreen(Greenplum升级版)数据库时,pgbench并发数设置过多,导致数据库卡死了,在进行连接、重启、关闭时,都报同样
第 11 届 PostgreSQL 中国技术大会于 2022 年 1 月 7 日至 9 日在武汉光谷会展酒店成功举办。作为 PostgreSQL 技术领域的年度盛事,postgreSQL 中文社区旨在搭建开放、合作共享的平台,基于开源,创新驱动,共同探讨数据库行业数字化发展方向和未来新机遇。
即将到来的 PostgreSQL 15 已经确认会增加 MERGE 语句,MERGE 可以在单个语句中实现 INSERT、UPDATE 以及 DELETE 操作。在此之前,我们可以使用 INSERT … ON CONFLICT DO …. 语句代替该功能。
本文介绍了PostgreSQL 访问和操作 MySQL 数据库的外部数据包装器:mysql_fdw。mysql_fdw 提供了读写 MySQL 外部表、连接池、WHERE 条件下推、返回字段下推、预编译语句、JOIN 下推、聚合函数(min、max、sum、avg、count)下推、ORDER BY 下推以及 LIMIT OFFSET 下推等功能。
本文给大家分享了一些 PostgreSQL 实用小技巧。
PostgreSQL 全球开发组于 2021-05-20 发布了 PostgreSQL 14 的第一个 beta 版本。本文介绍了该版本中的主要新特性和增强功能,包括性能、新的 multirange 类型、SQL 语句、管理、复制和恢复、安全以及其他方面。
本文介绍了 PostgreSQL 横向子查询(LATERAL)的语法的作用。SELECT 就像一个循环语句,而 LATERAL 就像是一个嵌套循环语句,对于左侧表中的每行记录执行一次子查询操作。
PostgreSQL 15 增加了大量符合 SQL/JSON 标准的函数,使得 JSON 数据的处理更加简单。
PostgreSQL 支持多个不同级别的灵活加密技术,包括密码加密、字段加密、存储加密、传输加密、认证加密以及应用加密,可以保护数据不因数据库服务器被盗、内部管理员或者不安全的网络传输而导致泄露。
目录1.编译incubator-datasketches-cpp编译datasketches-cpp项目编译datasketches-cpp项目的PythonWrapperforDatasketches2.编译incubator-datasketches-postgresql3.Verifyinginstallationofdatasketches-postgresqlwithatestdatabase4.AdvancedExamplesofdata
连接pg需要指定以下的参数:·主机地址·端口·数据库名·用户·密码 如果没有指定上面的参数的话,pg会从环境变量中寻找以下的变量值:·PGHOST或PGHOSTADDR·PGPORT·PGDATABASE·PGUSER·PGPASSWORD 如果只是指定了前面四个参数,pg会尝试寻找口令文件。
pg库也是常用的数据库之一,有些刚开始接触开发的老师可能不熟,这里简单介绍一下,总体使用方法和mysql类似,所以这里只讲配置方法。这个地方test1是数据库1,test2是数据库2,yml文件一定要主要好格式,建议用properties。MyBaitsSqlSessionFactory配置文件。不同数据源的dao层要放到对应文件夹下。TimedConfig配置文件。文件夹格式,这里直接放贴图。Bd3Config配置文件。下面是数据源的配置文件。