PostgreSQL 查询失败
PostgreSQL query failure
我对 PostgreSQL 有一个独特的问题。将数据插入数据库后,我尝试检索大于特定字符串的所有内容。但是,它没有 return 任何数据。所以,我在另一台机器上试过了,它成功了。所以我的问题是我的数据是 returned 在一台机器上而不是另一台机器上。我测试了:
Windows 7 pro desktop 运行 PostgreSQL 9.2(可用)
Windows 8.1 专业笔记本电脑 运行 PostgreSQL 9.3(可用)
Fedora 20 运行 笔记本电脑 PostgreSQL 9.3(可用)
Fedora 20 运行 桌面 PostgreSQL 9.3(失败)
以下是我的测试用例,它分布在所有系统中:
create table test(key0 character(38) not null, constraint pkey primary key (key0)) with (oids=false);
insert into test (key0) values ('00 00 00 00 0000');
以下查询是return在机器上的不同结果:
select * from test where key0 >= '00 00 00 00 00 00' order by key0;
我完全不知道为什么这些查询在一台机器上不起作用。
如有任何帮助,我们将不胜感激。
这很可能与排序规则有关。看到这个:
select * from test where key0 >= '00 00 00 00 00 00' order by key0;
key0
------
(0 rows)
select * from test where key0 >= '00 00 00 00 00 00' COLLATE "C" order by key0;
key0
----------------------------------------
00 00 00 00 0000
(1 row)
我猜你没有为 CREATE DATABASE 语句提供 LC_COLLATE 参数,它复制了系统默认值,而这恰好在你的系统中是不同的。
我对 PostgreSQL 有一个独特的问题。将数据插入数据库后,我尝试检索大于特定字符串的所有内容。但是,它没有 return 任何数据。所以,我在另一台机器上试过了,它成功了。所以我的问题是我的数据是 returned 在一台机器上而不是另一台机器上。我测试了:
Windows 7 pro desktop 运行 PostgreSQL 9.2(可用)
Windows 8.1 专业笔记本电脑 运行 PostgreSQL 9.3(可用)
Fedora 20 运行 笔记本电脑 PostgreSQL 9.3(可用)
Fedora 20 运行 桌面 PostgreSQL 9.3(失败)
以下是我的测试用例,它分布在所有系统中:
create table test(key0 character(38) not null, constraint pkey primary key (key0)) with (oids=false);
insert into test (key0) values ('00 00 00 00 0000');
以下查询是return在机器上的不同结果:
select * from test where key0 >= '00 00 00 00 00 00' order by key0;
我完全不知道为什么这些查询在一台机器上不起作用。
如有任何帮助,我们将不胜感激。
这很可能与排序规则有关。看到这个:
select * from test where key0 >= '00 00 00 00 00 00' order by key0;
key0
------
(0 rows)
select * from test where key0 >= '00 00 00 00 00 00' COLLATE "C" order by key0;
key0
----------------------------------------
00 00 00 00 0000
(1 row)
我猜你没有为 CREATE DATABASE 语句提供 LC_COLLATE 参数,它复制了系统默认值,而这恰好在你的系统中是不同的。