怎么在CodeIgniter中配置PostgreSQL数据库

风丽酱_7032

风丽酱_7032

2026-09-18

240人浏览

原创

首要原因是php未安装或未启用pgsql扩展;linux下用php -m | grep pgsql验证,无输出需sudo apt install php-pgsql,windows需在php.ini中启用php_pdo_pgsql.dll和php_pgsql.dll。

怎么在codeigniter中配置postgresql数据库

确认PHP已启用pgsql扩展

PostgreSQL连接失败的首要原因,往往是PHP没装或没启pgsql扩展。在Linux下运行php -m | grep pgsql,若无输出,需安装:sudo apt-get install php-pgsql(Ubuntu/Debian)或sudo yum install php-pgsql(CentOS/RHEL)。Windows用户则需检查php.ini中是否取消了extension=php_pgsql.dll的注释,并确认php_pdo_pgsql.dll也已启用。

修改application/config/database.php配置项

CodeIgniter 3.x默认不带PostgreSQL驱动,但原生支持——只需把dbdriver设为postgre(注意不是postgresql),其他关键参数如下:

  • hostname:数据库服务器地址,瀚高V9.0常为192.168.x.xlocalhost
  • usernamepassword:必须是数据库用户(如postgres),且该用户需有目标库的CONNECTUSAGE权限;
  • database:库名,瀚高V9.0初始化后默认库通常是highgopostgres,不能填错大小写;
  • port:PostgreSQL默认5432,瀚高V9.0若改过端口(如6432),此处必须同步;
  • schema:PostgreSQL特有,CodeIgniter 3.x需手动加这一行,值一般为public,否则get()可能查不到表;

示例片段:

$db['default'] = array(
	'dbdriver' => 'postgre',
	'hostname' => '192.168.10.5',
	'username' => 'hguser',
	'password' => 'hgpass123',
	'database' => 'myapp',
	'port'     => 6432,
	'schema'   => 'public'
);

瀚高V9.0特有的兼容性处理

瀚高V9.0虽基于PostgreSQL内核,但部分Oracle兼容特性会影响CodeIgniter行为:

CodeIgniter 4.7.0
CodeIgniter 4.7.0

CodeIgniter下载页提供 CodeIgniter 4.7.0 官方源码包,并整理框架安装、数据库配置与入门开发说明。

下载
  • 若建表时用了双引号定义大小写敏感的表名(如"Student"),CodeIgniter的$this->db->from('student')会查不到——必须严格匹配引号内的大小写,或改用小写建表;
  • 瀚高默认开启oracle_compatible_mode时,OFFSET/LIMIT语法可能被重写,导致limit(10, 20)生成错误SQL;建议在database.php中显式关闭:'emulate_prepares' => false,并确保pg_driver.php未被魔改;
  • 连接时若报SSL is not enabled on the server,不是错误而是提示——瀚高V9.0默认禁用SSL,需在配置中加'ssl' => false字段,否则某些版本的pg_connect会拒绝连接。

测试连接与常见报错定位

写个最简控制器验证是否连通:

class Dbtest extends CI_Controller {
	public function index() {
		$this->load->database();
		$result = $this->db->query("SELECT version()")->row();
		echo $result->version;
	}
}

典型报错及对应动作:

  • Unable to connect to your database server using the provided settings:先用psql -h host -U user -d db命令行直连,排除网络/认证问题;
  • ERROR: relation "xxx" does not exist:检查schema配置、表名大小写、以及是否在正确库中建表;
  • Call to undefined method CI_DB_postgre_driver::list_tables():说明驱动文件损坏或版本错配,应使用CodeIgniter 3.1.13+官方包,勿混用旧版pg_driver.php

瀚高V9.0的Oracle兼容层会让某些元数据查询变慢,首次连接后务必清空system/cache/db_cache/目录,避免缓存残留导致后续查询异常。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

codeigniter

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
postgresql常用命令
postgresql常用命令

postgresql常用命令psql、createdb、dropdb、createuser、dropuser、\l、\c、\dt、\d table_name、\du、\i file_name、\e和\q等。本专题为大家提供postgresql相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.10

193

5

常用的数据库软件
常用的数据库软件

常用的数据库软件有MySQL、Oracle、SQL Server、PostgreSQL、MongoDB、Redis、Cassandra、Hadoop、Spark和Amazon DynamoDB。更多关于数据库软件的内容详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.02

3969

19

postgresql常用命令有哪些
postgresql常用命令有哪些

postgresql常用命令psql、createdb、dropdb、createuser、dropuser、\l、\c、\dt、\d table_name、\du、\i file_name、\e和\q等。更详细的postgresql常用命令,大家可以访问下面的文章。

2023.11.16

607

3

postgresql常用命令介绍
postgresql常用命令介绍

postgresql常用命令有\l、\d、\d5、\di、\ds、\dv、\df、\dn、\db、\dg、\dp、\c、\pset、show search_path、ALTER TABLE、INSERT INTO、UPDATE、DELETE FROM、SELECT等。想了解更多postgresql的相关内容,可以阅读本专题下面的文章。

2023.11.20

1316

6

PostgreSQL性能优化与索引调优实战
PostgreSQL性能优化与索引调优实战

本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

2026.02.12

420

19

PostgreSQL 性能优化与查询执行计划实战
PostgreSQL 性能优化与查询执行计划实战

本专题深入解析PostgreSQL性能优化核心,聚焦查询执行计划的实战应用。通过EXPLAIN命令精准定位瓶颈,结合索引策略、SQL改写与参数调优,系统提升查询效率。从执行计划解读到性能调优全流程,助你掌握数据库性能诊断与优化实战能力。

2026.05.08

130

10

PostgreSQL 在 Next.js / Go 全栈架构中的工程化实践
PostgreSQL 在 Next.js / Go 全栈架构中的工程化实践

本文详解如何利用Next.js(搭配Drizzle ORM)与Go后端构建高性能应用,充分发挥PG在JSONB非结构化存储与pgvector向量检索上的优势。从数据建模到Docker容器化部署,打造支持AI时代的“One Database”工程化解决方案。

2026.05.08

861

10

PostgreSQL高级特性、内核机制与现代数据架构
PostgreSQL高级特性、内核机制与现代数据架构

本专题从MVCC并发控制与WAL日志等内核机制出发,详解JSONB、PostGIS及pgvector等高级特性。探讨如何利用单一引擎支撑关系型、向量及图数据等现代数据架构需求,助您掌握构建高并发、智能化应用的核心技术。

2026.05.08

204

10

PHP CodeIgniter框架
PHP CodeIgniter框架

本专题专注于 PHP 轻量级框架 CodeIgniter 的学习与应用,系统讲解 MVC 模型、路由与控制器、数据库操作、表单验证、安全机制以及 REST API 开发。通过博客系统、内容管理平台和小型电商等实战项目,帮助学员快速掌握 CodeIgniter 的开发方法与实践技能。

2025.08.28

3219

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程