网站建设资讯

NEWS

网站建设资讯

postgresql菜鸟的简单介绍

PostgreSQL 的递归查找怎么写

使用  CTE  来处理

10余年的柳林网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站的优势是能够根据用户设备显示端的尺寸不同,自动调整柳林建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“柳林网站设计”,“柳林网站推广”以来,每个客户项目都认真落实执行。

--测试表与测试数据

CREATE TABLE test_tree (

test_id   INT  NOT NULL,

pid       INT,

test_val  VARCHAR(10),

PRIMARY KEY (test_id)

);

INSERT INTO test_tree VALUES(1, NULL,   '.NET');

INSERT INTO test_tree VALUES(2, 1,      'C#');

INSERT INTO test_tree VALUES(3, 1,      'J#');

INSERT INTO test_tree VALUES(4, 1,      'ASP.NET');

INSERT INTO test_tree VALUES(5, 1,      'VB.NET');

INSERT INTO test_tree VALUES(6, NULL,   'J2EE');

INSERT INTO test_tree VALUES(7, 6,      'EJB');

INSERT INTO test_tree VALUES(8, 6,      'Servlet');

INSERT INTO test_tree VALUES(9, 6,      'JSP');

INSERT INTO test_tree VALUES(10, NULL,  'Database');

INSERT INTO test_tree VALUES(11, 10,    'DB2');

INSERT INTO test_tree VALUES(12, 10,    'MySQL');

INSERT INTO test_tree VALUES(13, 10,    'Oracle');

INSERT INTO test_tree VALUES(14, 10,    'SQL Server');

INSERT INTO test_tree VALUES(15, 13,    'PL/SQL');

INSERT INTO test_tree VALUES(16, 15,    'Function');

INSERT INTO test_tree VALUES(17, 15,    'Procedure');

INSERT INTO test_tree VALUES(18, 15,    'Package');

INSERT INTO test_tree VALUES(19, 15,    'Cursor');

INSERT INTO test_tree VALUES(20, 14,    'T-SQL');

--  需要在 With 后面,加一个 recursive 关键字。否则会提示错误。

WITH recursive StepCTE

(test_id,

pid,

test_val,

Lev)

AS

(

SELECT

test_id,

pid,

test_val,

1 as Lev

FROM

test_tree

WHERE

test_id IN (1,6,10)

UNION ALL

SELECT

T.test_id,

T.pid,

T.test_val,

CTE.Lev + 1

FROM

test_tree T , StepCTE CTE

WHERE

T.pid = CTE.test_id

)

SELECT

test_id, pid, test_val, Lev

FROM StepCTE;

test_id | pid |  test_val  | lev

---------+-----+------------+-----

1 |     | .NET       |   1

6 |     | J2EE       |   1

10 |     | Database   |   1

2 |   1 | C#         |   2

3 |   1 | J#         |   2

4 |   1 | ASP.NET    |   2

5 |   1 | VB.NET     |   2

7 |   6 | EJB        |   2

8 |   6 | Servlet    |   2

9 |   6 | JSP        |   2

11 |  10 | DB2        |   2

12 |  10 | MySQL      |   2

13 |  10 | Oracle     |   2

14 |  10 | SQL Server |   2

15 |  13 | PL/SQL     |   3

20 |  14 | T-SQL      |   3

16 |  15 | Function   |   4

17 |  15 | Procedure  |   4

18 |  15 | Package    |   4

19 |  15 | Cursor     |   4

(20 行记录)

上面的例子, 是从  根节点,  向下递归查找所有子节点的处理。

PostgreSQL从菜鸟到专家 什么是PostgreSQL数据库

安装PostgreSQL数据库之后,默认是只接受本地访问连接。如果想在其他主机上访问PostgreSQL数据库服务器,就需要进行相 应的配置。配置远程连接PostgreSQL数据库的步骤很简单,只需要修改data目录下的pg_hba.conf和postgresql.conf, 其中pg_hba.conf是用来配置对数据库的访问权限,postgresql.conf文件用来配置PostgreSQL数据库服务器的相应的参数。 下面介绍配置的步骤:

1.修改pg_hba.conf文件,配置用户的访问权限:

# TYPE DATABASE USER CIDR-ADDRESS METHOD

# "local" is for Unix domain socket connections only

local all all trust

# IPv4 local connections:

host all all 127.0.0.1/32 trust

host all all 192.168.1.0/24 md5

# IPv6 local connections:

host all all ::1/128 trust

其中红色标识的内容为新添加的内容,表示允许网段192.168.1.0上的所有主机使用所有合法的数据库用户名访问数据库,并提供加密的密码验 证。在我们的环境中,我们需要在主机192.168.1.5上使用postgres用户访问192.168.1.9上的PostgreSQL数据库。

2.修改postgresql.conf文件,将数据库服务器的监听模式修改为监听所有主机发出的连接请求。

定位到#listen_addresses='localhost'。PostgreSQL安装完成后,默认是只接受来在本机localhost的连接请 求,通过将改行内容修改为listen_addresses='*'来允许数据库服务器监听来自任何主机的连接请求:

listen_addresses = '*' # what IP address(es) to listen on;

# comma-separated list of addresses;

# defaults to 'localhost', '*' = all

# (change requires restart)

修改之后,保存并退出,然后重起数据库,就可以在在远程机器上访问PostgreSQL数据库了。

另外,数据库管理小贴士:

matrix数据库使用的是PostgreSQL数据库。你可以安装一个类似phpmyadmin的管理

怎么在shell里操作postgresql数据库呢?或者实现方法是什么呢?

你好,

不可以的。因为shell不是postgresql的客户端,

当然不可以执行其sql语句。

希望回答对您有帮助.

postgres 数据库导入导出的问题

postgres实现导出和导入

用postgres 的pg_dump可以实现从从postgres数据库中导出数据。

[1]只导出所有对象的数据库结构

C:\pg_dump -f DDDDDD.sql -i -C -E UTF8 -n public -s -U portal -h localhost -W portal

-i 是为了兼容数据库版本

-C 包括创建数据库的语句

-E 设定导出数据的编码

-n 是Scheme的名称

-U 是用户名称

-h 是数据库服务器的名称

-W 是用强制密码验证

-s 只导出数据库结构

最后一个参数,当然就是数据库名称了

[2]导出所有对象的数据库结构和数据

C:\pg_dump -f DDDDDD.sql -i -C -E UTF8 -n public -U portal -h localhost -W portal

没有-s参数

[3]只导出所有的表数据

C:\pg_dump -f DDDDDD.sql -i -a -C -E UTF8 -n public -U portal -h localhost -W portal

-a 只导出数据

数据导入

[1]c:\psql -f DDDDDD.sql -h 192.168.1.233 -U myuser -W myportal

执行就可以实现导入了。

如果数据库myportal 不存在,要先创建数据库

createdb -U postgres -h 192.168.1.233 myportal

然后再执行上面的导入语句就可以了。

[2]psql -hlocalhost -U myuser -d myportal DDDDDD.sql

执行语句导入数据就可以了。

求教数据库软件制作。。。

别用foxpro了,换个其他数据库吧

免费的mysql,postgresql

收费的sqlserver,都可以


分享名称:postgresql菜鸟的简单介绍
链接地址:http://cdweb.net/article/dsdhedd.html