如何设置PostgreSQL允许被远程访问
postgresql默认情况下,远程访问不能成功,如果需要允许远程访问,需要修改两个配置文件,说明如下:
创新互联是一家专注于网站设计制作、网站设计与策划设计,宝丰网站建设哪家好?创新互联做网站,专注于网站建设10余年,网设计领域的专业建站公司;建站业务涵盖:宝丰等地区。宝丰做网站价格咨询:18982081108
1.postgresql.conf
将该文件中的listen_addresses项值设定为“*”,在9.0 Windows版中,该项配置已经是“*”无需修改。
2.pg_hba.conf
在该配置文件的host all all 127.0.0.1/32 md5行下添加以下配置,或者直接将这一行修改为以下配置
host all all 0.0.0.0/0 md5
如果不希望允许所有IP远程访问,则可以将上述配置项中的0.0.0.0设定为特定的IP值。
postgresql里边的数组怎么操作
1. 数组可以作为字段类型
PostgreSQL中数据是一种基本的数据类型,可以作为字段的类型定义。例如,
CREATE TABLE ads.tb_mo_item
(
mo_key integer NOT NULL,
input_flow integer[] NOT NULL DEFAULT ARRAY[]::integer[]
);
2. 可以用array[]来初始化一个数组
select array[1, 3, 4]::int[];
3. 操作数组有一系列函数, 可以实现数组比较,添加新元素,一般数组是否包含另一数组的判断,等等。具体参考PostgreSQL说明文档中函数和操作符中有关Array的部分。
操作符有: =, , , , =, =, @, @, , ||
函数有: array_append, array_cat, array_ndims, array_dims, array_fill, array_length, array_lower, array_remove, array_replace, array_to_string, array_upper, string_to_array, unnest等.
其中,常用的是: array_append, array_length, unnest
4. 使用数组下标获得数组的元素,下标是从1开始的
select (array[1, 3, 4]::int[])[2];
5. 可以用unnest将数组转换成一个结果集,个人觉得这个很有用处
select a.a from unnest(array[1, 3, 4]::int[]) a;
如何学习PostgreSQL SQL语法
我们可以利用psql命令来查询sql语法。
切换到PostgreSql用户下,
[sql] view plain copy
span style="font-size:18px;"[doctor@localhost ~]$ su - postgres
密码:
su: 鉴定故障
[doctor@localhost ~]$ su - postgres
密码:
-bash-4.3$ bash
bash-4.3$ psql
psql (9.4.2)
输入 "help" 来获取帮助信息.
postgres=#
postgres=# help
您正在使用psql, 这是一种用于访问PostgreSQL的命令行界面
键入: \copyright 显示发行条款
\h 显示 SQL 命令的说明
\? 显示 pgsql 命令的说明
\g 或者以分号(;)结尾以执行查询
\q 退出
postgres=#
/span
\h 命令就是我们用来学习sql语法的命令。
[sql] view plain copy
span style="font-size:18px;"postgres=# \h
可用的说明:
ABORT DEALLOCATE
ALTER AGGREGATE DECLARE
ALTER COLLATION DELETE
ALTER CONVERSION DISCARD
ALTER DATABASE DO
ALTER DEFAULT PRIVILEGES DROP AGGREGATE
ALTER DOMAIN DROP CAST
ALTER EVENT TRIGGER DROP COLLATION
ALTER EXTENSION DROP CONVERSION
ALTER FOREIGN DATA WRAPPER DROP DATABASE
ALTER FOREIGN TABLE DROP DOMAIN
ALTER FUNCTION DROP EVENT TRIGGER
ALTER GROUP DROP EXTENSION
ALTER INDEX DROP FOREIGN DATA WRAPPER
ALTER LANGUAGE DROP FOREIGN TABLE
ALTER LARGE OBJECT DROP FUNCTION
ALTER MATERIALIZED VIEW DROP GROUP
ALTER OPERATOR DROP INDEX
ALTER OPERATOR CLASS DROP LANGUAGE
ALTER OPERATOR FAMILY DROP MATERIALIZED VIEW
ALTER ROLE DROP OPERATOR
ALTER RULE DROP OPERATOR CLASS
postgres=# \h select
命令: SELECT
描述: 从资料表或视观表读取资料
语法:
[ WITH [ RECURSIVE ] with查询语句(with_query) [, ...] ]
SELECT [ ALL | DISTINCT [ ON ( 表达式 [, ...] ) ] ]
[ * | 表达式 [ [ AS ] 输出名称 ] [, ...] ]
[ FROM from列表中项 [, ...] ]
[ WHERE 条件 ]
[ GROUP BY 表达式 [, ...] ]
[ HAVING 条件 [, ...] ]
[ WINDOW 窗口名称 AS ( 窗口定义 ) [, ...] ]
[ { UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] 查询 ]
[ ORDER BY 表达式 [ ASC | DESC | USING 运算子 ] [ NULLS { FIRST | LAST } ] [
, ...] ]
[ LIMIT { 查询所用返回记录的最大数量 | ALL } ]
[ OFFSET 起始值 [ ROW | ROWS ] ]
[ FETCH { FIRST | NEXT } [ 查询所用返回记录的最大数量 ] { ROW | ROWS } ONLY
]
[ FOR { UPDATE | NO KEY UPDATE | SHARE | KEY SHARE } [ OF 表名 [, ...] ] [ N
OWAIT ] [...] ]
from 列表中的项可以是下列内容之一
[ ONLY ] 表名 [ * ] [ [ AS ] 化名 [ ( 列的化名 [, ...] ) ] ]
[ LATERAL ] ( 查询 ) [ AS ] 化名 [ ( 列的化名 [, ...] ) ]
WITH查询语句名称(with_query_name) [ [ AS ] 化名 [ ( 列的化名 [, ...] ) ] ]
[ LATERAL ] 函数名称 ( [ 参数 [, ...] ] )
[ WITH ORDINALITY ] [ [ AS ] 化名 [ ( 列的化名 [, ...] ) ] ]
[ LATERAL ] 函数名称 ( [ 参数 [, ...] ] ) [ AS ] 化名 ( 列定义 [, ...] )
[ LATERAL ] 函数名称 ( [ 参数 [, ...] ] ) AS ( 列定义 [, ...] )
[ LATERAL ] ROWS FROM( 函数名称 ( [ 参数 [, ...] ] ) [ AS ( 列定义 [, ...] )
] [, ...] )
[ WITH ORDINALITY ] [ [ AS ] 化名 [ ( 列的化名 [, ...] ) ] ]
from列表中项 [ NATURAL ] 连接操作的类型 from列表中项 [ ON 用连接操作的条件 |
USING ( 用于连接操作的列 [, ...] ) ]
with查询语句是:
WITH查询语句名称(with_query_name) [ ( 列名称 [, ...] ) ] AS ( 查询 | 值 | in
sert | update | delete )
TABLE [ ONLY ] 表名 [ * ]
postgres=# /span
看这命令对于学习sql语法很有用。
标题名称:postgresql说明的简单介绍
文章地址:http://lswzjz.com/article/dscddco.html