我正在尝试将用户数据存储到PgSQL中的数据库中,并将Codeigniter作为框架。
现在我创建了一个表ci_sessions:
CREATE TABLE IF NOT EXISTS ci_sessions (
session_id varchar(40) NOT NULL DEFAULT '0',
ip_address varchar(45) NOT NULL DEFAULT '0',
user_agent varchar(120) NOT NULL,
last_activity int check (last_activity > 0) NOT NULL DEFAULT '0',
user_data text NOT NULL,
PRIMARY KEY (session_id)
) ;
CREATE INDEX last_activity_idx ON ci_sessions (last_activity);
在我的config.php中,这些是我的参数:
$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
在mysql中,这些足以将userdata存储到数据库中。
但对于 PgSql ,我收到了很多错误:
我必须做很多改动才能正常工作,但是当我要求它没有存储有关用户数据的信息时,例如浏览器,用户代理等。
我的错误看起来像这样:
Severity: Warning
消息:pg_query():查询失败:错误:列"数据"不存在 第1行:SELECT"数据" ^
文件名:postgre / postgre_driver.php
行号:242
回溯:
文件:C:\ wamp \ www \ project \ application \ core \ MY_Controller.php行:13 功能:__construct
文件:C:\ wamp \ www \ project \ application \ libraries \ Admin_Controller.php 行:10功能:__construct
文件:C:\ wamp \ www \ project \ application \ controllers \ admin \ Dashboard.php 行:11功能:__construct
文件:C:\ wamp \ www \ project \ index.php行:316函数:require_once
答案 0 :(得分:0)
CREATE TABLE "ci_sessions" (
"id" varchar(128) NOT NULL,
"ip_address" varchar(45) NOT NULL,
"timestamp" bigint DEFAULT 0 NOT NULL,
"data" text DEFAULT '' NOT NULL
);
CREATE INDEX "ci_sessions_timestamp" ON "ci_sessions" ("timestamp");
根据在线docs,这是您需要的表。