[]
介绍如何连接到PostgreSQL 数据库。
注意:
为了活字格连接外连数据库后能正确地工作,您需要给目标数据表中设置唯一、不为空的主键(至少一个)。在选择主键时,请不要选择以下数据类型的字段:text、ntext、Binary、Varbinary、image、hierarchyid、xml、sql_variant、geometry、geography。
当您创建了一个外联数据表,活字格将会尝试获取该表的主键,如果这个主键不存在,活字格将会去寻找唯一且不为空的一列作为主键。
在活字格中连接到PostgreSQL 数据库的具体操作如下:
操作步骤
1. 在功能区菜单栏中选择“数据->连接数据库”。
或在表的标签栏上右击,选择“连接到外联表”。
2. 选择数据源为“PostgreSQL数据库”。
type=note
说明:
首次选择“连接到数据库”将打开“选择数据源”对话框。如果您之前已经选择了一种数据源进行连接,则将打开上一次连接的数据源的“连接属性”对话框。您可以在“连接属性”对话框中,单击“数据源”右边的“更改”,进入“选择数据源”对话框,重新选择数据源。
3. 输入服务器名、用户名、密码、端口号后,选择数据库。
4. 设置完成后,您可以单击“测试连接”测试和设定的服务器的连接情况。
单击“确定”。
5. 单击“确定”后,弹出“导入表”对话框,在数据源的表列表中选中要导入的表,单击“>”将选中的表移到选择的表列表,或单击“>>”将数据源的表全部移到选择的表列表中。
type=note
说明:
如果目标源为视图,则会加上“(视图)”的后缀。
如果您选择了视图,在单击“确定”后需选择视图的主键。
视图支持设置数据权限。
6. 单击“确定”,即可将表导入。打开该表,在表设置中可看到其类型为“外联表”。
连接到PostgreSQL后,再单击“连接到数据库”下的下拉按钮,会列出已连接的数据库。如下图中的PostgreSQL,单击即可直接打开导入表的对话框。
type=note
说明:
勾选“允许活字格修改数据库或表结构”后,您就可以直接在活字格中修改外联数据表,如添加新的字段、删除字段、修改字段名称等。如果您需要在外联表中设置工作流或是设置数据权限,包括创建记录权限、行权限和字段权限,您都需要勾选此项。
勾选“允许活字格修改数据库或表结构”后,您还可以设置数据类型为文本、用户、图片和附件的字段长度。
在活字格中删除外联表不会删除外联数据库中的数据表。
在活字格中创建字段对应在PostgreSQL数据库中的字段类型如下表所示。
活字格字段类型 | PostgreSQL字段类型 |
---|---|
附件 | varchar(500) |
是/否 | bool |
日期 | timestamp |
小数 | numeric |
整数 | int8 |
图片 | varchar(500) |
主键 | int8(AutoIncrement seed is 1, step is 1) |
文本 | varchar(500) |
时间 | time |
用户 | varchar(500) |
活字格支持一部分的PostgreSQL字段类型,PostgreSQL中的字段类型对应在活字格中的字段类型如下表所示。
PostgreSQL字段类型 | 活字格字段类型 |
---|---|
bit | 是否 |
bool | 是否 |
bytea | 图片 |
char | 文本 |
date | 日期 |
decimal | 小数 |
float4 | 小数 |
float8 | 小数 |
int2 | 整数 |
int4 | 整数 |
int8 | 整数 |
interval | 时间 |
json | 文本 |
jsonb | 文本 |
jsonpath | 文本 |
money | 小数 |
numeric | 小数 |
serial2 | 整数 |
serial4 | 整数 |
serial8 | 整数 |
text | 文本 |
time | 时间 |
timestamp | 日期 |
uuid | 文本 |
varchar | 文本 |
xml | 文本 |
bpchar | 文本 |
oid | 整数 |
regconfig | 整数 |
regtype | 整数 |
活字格不支持如下的PostgreSQL字段类型。
PostgreSQL 字段类型 | 在活字格中 |
---|---|
varbit | 不支持,并且在设计器中不显示 |
box | 不支持 |
bytea | 不支持 |
cidr | 不支持,并且在设计器中不显示 |
circle | 不支持 |
inet | 不支持,并且在设计器中不显示 |
line | 不支持 |
lseg | 不支持 |
macaddr | 不支持 |
path | 不支持 |
point | 不支持 |
polygon | 不支持 |
timestamptz | 不支持,并且在设计器中不显示 |
timetz | 不支持,并且在设计器中不显示 |
tsquery | 不支持 |
tsvector | 不支持 |
txid_snapshot | 不支持,并且在设计器中不显示 |
gtsvector, tstzrange, tsrange, aclitem, cid | 不支持,并且在设计器中不显示 |
regnamespace, regclass, regcollation, regoper, regoperator, regproc, regoprocedure, regrole, regprocedure, oidvector | 不支持,并且在设计器中不显示 |
int4range, int8range, numrange, daterange | 不支持 |