Postgresql经验谈
PostgreSQL数据库在工程实践中的一些经验分享。
YapingXin
航天/航空/军工装备行业,航电系统、遥测/测发控系统、系统故障诊断、预测与健康管理(PHM)高级系统架构师。
展开
-
在Windows Server上安装Postgresql的注意事项
有这么几项需要注意的地方,和大家分享一下,如果有需要补充的地方欢迎您留言讨论:一、如果是在远程桌面(基于RDP协议、Terminal Services服务的Remote Desktop)中安装,需要注意的是,Postgresql的service无法在Windows 2008及以上Windows版本的Terminal Service会话中启动,所以安装前需要用mstsc /console原创 2011-08-01 01:24:46 · 4776 阅读 · 4 评论 -
Postgresql: 解决无法安装uuid-ossp的问题
<br />在一台 Debian Linux 6.0 + Postgresql 9.0.x 服务器上,安装 uuid-ossp :<br />psql -d sedb -U postgres -f /opt/postgres/9.0/share/postgresql/contrib/uuid-ossp.sql<br /> <br />结果出错了。我忘了把报错信息保存下来了,大致是这个样子的:<br />ERROR: could not access file “$libdir/uuid-ossp”: No原创 2011-05-24 16:16:00 · 13143 阅读 · 1 评论 -
Postgresql: UUID的使用
默认安装的 Postgresql 是不带 UUID 函数的,为了生成一个 UUID,我们不得不在客户端生成。其实在 Postgresql 的安装目录下已经存在这样的函数定义,我们只需将其 import 进来即可。在安装目录的 share/contrib 下面,可以找到 uuid-ossp.sql,使用以下命令:psql -d pisces -U postgres -f D:/Service/PostgreSQL/9.0/share/contrib/uuid-ossp.sql参数说明:-d: 数据库名-U原创 2011-04-26 18:40:00 · 20578 阅读 · 3 评论 -
配置 Postgresql 远程访问
环境:Debian 6.0.0 + Postgresql 8.4.7Postgresql 是用 dpkg -i 命令默认安装的,其余安装方式的文件路径可能会不同。一、编辑 pg_hba.conf,配置用户的访问权限vi /etc/postgresql/8.4/main/pg_hba.conf如下:# "local" is for Unix domain socket connections onlylocal all all原创 2011-04-15 14:35:00 · 7921 阅读 · 0 评论 -
Example of PL/pgSQL: 在用户自定义函数中用 Return Query 返回一个表
<br />环境:PostgreSQL 8.4.7<br /> <br />直接贴代码,不解释:<br /> <br />CREATE or Replace FUNCTION func_task_get_devicerule_devicelist( mf_comp integer, mf_id integer, md_comp integer, md_id integer, sdk_comp integer, sdkv integer)RETU原创 2011-03-26 13:41:00 · 4296 阅读 · 0 评论 -
Postgresql: 动态SQL语句中不能使用Select into?
下面是出错的存储过程:CREATE or Replace FUNCTION func_getnextbigid( tablename varchar(240), idname varchar(20) default 'id')RETURNS bigint AS $funcbody$Declare sqlstring varchar(240); currentId bigint;Begin sqlstring:= 'select max("' ||原创 2011-03-24 11:33:00 · 8123 阅读 · 0 评论 -
Example: Create function in Postgresql
创建用户自定义函数或者存储过程,这种事在SQL Server下面我们已经司空见惯了。但是在Postgresql下,我们还是要熟悉一下PL/pgSQL的语法。相关表结构:写一个Function来插入suiteId和caseId,保证这两个Id都能正确关联到TestSuite表和TestCase表:Create or Replace function func_TestSuite_AddTestCase(sid INTEGER, cid INTEGER) returns INTEGER as $funcbody原创 2011-03-23 00:34:00 · 3325 阅读 · 0 评论 -
Postgresql 触发器一例
Postgresql 没有防触发器递归调用的机制。这一点远远没有SQL Server方便。不过程序员可以自己在PL/SQL语句中实现。倒也无碍。原创 2011-03-21 09:16:00 · 7267 阅读 · 0 评论