Postgresql + postgis基本操作

windows 下操作说明

cmd登录/linux

psql -h localhost -U postgres -p 5432

输入密码 :123123

linux另一种登录方式:

sudo su - postgres  回车
psql 回车

\l #列出所有的数据库
\c database_name #切换数据库 \c test 进入到test数据库下
\d #显示当前数据库中所有表
\q #退出

windows 下PostgreSQL导入sql文件

在软件的安装目录的bin文件下打开命令行工具 输入:

psql -d 数据库名称 -h 数据库地址 -p 5432 -U postgres -f sql文件(E:\Config\SQL\iSmartCapDb.sql)

D:\DataBaseTool\Postgresql10\bin>psql -d maplayers3 -h 127.0.0.1 -p 5432 -U postgres -f E:\360Downloads\tc-maplayers安装包\java\maplayres\area_geometry.sql

安装的postgis添加到本数据库,添加空间扩展,在sql运行工具中执行下面语句即可。

CREATE EXTENSION postgis;
CREATE EXTENSION pgrouting;
CREATE EXTENSION postgis_topology;
CREATE EXTENSION fuzzystrmatch;
CREATE EXTENSION postgis_tiger_geocoder;
CREATE EXTENSION address_standardizer;

删除数据库报错ERROR: database “mydb” is being accessed by other users
DETAIL: There are 3 other sessions using the database.
执行下面操作:

SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE datname='mydb' AND pid<>pg_backend_pid();

然后再执行:

drop DATABASE mydb;

语句说明:

pg_terminate_backend:用来终止与数据库的连接的进程id的函数。
pg_stat_activity:是一个系统表,用于存储服务进程的属性和状态。
pg_backend_pid():是一个系统函数,获取附加到当前会话的服务器进程的ID

1.进入到postgresql

psql -h localhost -U postgres -p 5432

2. 创建数据库stereo_images


CREATE DATABASE stereo_images;

3. 切换到stereo_images数据库


\c stereo_images

4. 安装的postgis添加到本数据库,添加空间扩展


CREATE EXTENSION postgis;
CREATE EXTENSION pgrouting;
CREATE EXTENSION postgis_topology;
CREATE EXTENSION fuzzystrmatch;
CREATE EXTENSION postgis_tiger_geocoder;
CREATE EXTENSION address_standardizer;

linux:

5.执行那个sql文件(命令你也可以百度查,我提供一个参考的) psql -f test.sql

或者: 1. 将area_geometry.sql文件上传到服务器 例如: /opt/area_geometry.sql
2. 进入到postgresql的bin目录下,执行.sql文件
3. ./psql –f /opt/area_geometry.sql

windows:
windows 下PostgreSQL导入sql文件
在软件的安装目录的bin文件下打开命令行工具 输入:

psql -d 数据库名称 -h 数据库地址 -p 5432 -U postgres -f sql文件(E:\Config\SQL\iSmartCapDb.sql)
D:\DataBaseTool\Postgresql10\bin>psql -d stereo_images -h 127.0.0.1 -p 5432 -U postgres -f E:\360Downloads\tc-maplayers安装包\java\maplayres\area_geometry.sql

6. 查看表 \d

7. 查看表结构 \d stereo_images

除了前面已经用到的\password命令(设置密码)和\q命令(退出)以外,控制台还提供一系列其他命令。

\h:查看SQL命令的解释,比如\h select。

?:查看psql命令列表。

\l:列出所有数据库。

\c [database_name]:连接其他数据库。

\d:列出当前数据库的所有表格。

\d [table_name]:列出某一张表格的结构。

\du:列出所有用户。

\e:打开文本编辑器。

\conninfo:列出当前数据库和连接的信息。

基本的数据库操作,就是使用一般的SQL语言:

复制代码

创建新表

CREATE TABLE usertbl(name VARCHAR(20), signupdate DATE);

插入数据

INSERT INTO usertbl(name, signupdate) VALUES(‘张三’, ‘2013-12-22’);

选择记录

SELECT * FROM user_tbl;

更新数据

UPDATE user_tbl set name = ‘李四’ WHERE name = ‘张三’;

删除记录

DELETE FROM user_tbl WHERE name = ‘李四’ ;

添加栏位

ALTER TABLE user_tbl ADD email VARCHAR(40);

更新结构

ALTER TABLE usertbl ALTER COLUMN signupdate SET NOT NULL;

更名栏位

ALTER TABLE usertbl RENAME COLUMN signupdate TO signup;

删除栏位

ALTER TABLE user_tbl DROP COLUMN email;

表格更名

ALTER TABLE usertbl RENAME TO backuptbl;

删除表格

DROP TABLE IF EXISTS backup_tbl;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
PostgreSQL+PostGIS 相对于 Oracle Spatial 在以下几个方面具有优势: 1. 开源和免费:PostgreSQL+PostGIS 是开源的数据库系统,可以免费使用,并且在开源社区中有广泛的支持和贡献。相比之下,Oracle Spatial 是商业数据库产品,可能需要支付高额的许可费用。 2. 社区支持和生态系统:PostgreSQL+PostGIS 有庞大的开源社区支持,许多开发者和组织都在为其开发新功能、解决问题和提供支持。这意味着用户可以从活跃的社区中获取帮助、学习和分享经验。 3. 扩展性和灵活性:PostgreSQL 是一个高度可扩展的数据库系统,可以轻松处理大规模数据集。PostGIS 扩展为 PostgreSQL 提供了丰富的地理空间功能,包括拓扑关系查询、空间索引、几何运算等。用户可以根据自己的需求选择性地安装和配置 PostGIS 扩展,使其更适合特定的应用场景。 4. 标准兼容性:PostgreSQL+PostGIS 遵循 SQL 和 OGC(Open Geospatial Consortium)的标准,支持标准的地理空间数据模型和函数。这使得它与其他遵循相同标准的地理空间数据系统具有良好的互操作性。 5. 可定制性和开发灵活性:开源的 PostgreSQL+PostGIS 提供了许多扩展和插件,用户可以根据自己的需求进行定制和开发。这使得用户可以根据具体应用的要求,灵活地扩展和定制地理空间功能。 需要注意的是,选择使用 PostgreSQL+PostGIS 还是 Oracle Spatial 取决于具体的需求和环境。如果对性能、功能全面性和与商业软件集成有较高要求,以及有相应的预算支持,那么 Oracle Spatial 可能更适合。而如果希望免费使用、享受开源社区支持、具备灵活性和可定制性,那么 PostgreSQL+PostGIS 是一个更好的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值