PostgreSQL数据库
     分类:数据库     有: 0 条评论

PostgreSQL数据库

     分类:数据库     有: 0 条评论

安装

简介:
一篇老文章:MySQL与PostgreSQL对比
一篇新文:“王者对战”之 MySQL 8 vs PostgreSQL 10

一般常规安装方式即可安装:

yum install postgresql
apt-get install postgresql

官网安装教程:https://www.postgresql.org/download/linux/redhat/
http://www.cnblogs.com/qiyebao/p/4562557.html


修改密码、忘记密码

刚安装好的默认没有密码

# 修改密码
psql -h 127.0.0.1 -U postgres
如果是宝塔:/www/server/pgsql/bin/psql -h 127.0.0.1 -U postgres

有密码输密码,没密码直接回车

alter user postgres with password 'new_passwd';
exit
然后重启postgresql
# 忘记密码,重置密码
关闭postgresql服务:systemctl stop postgresql

搜索配置文件,不同系统位置不同:find / -name pg_hba.conf
宝塔可以直接在管理面板中修改
修改配置文件:
# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5

修改md5为trust

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust


启动服务:systemctl start postgresql

此时可以无密码进入
psql -h 127.0.0.1 -U postgres
如果是宝塔:/www/server/pgsql/bin/psql -h 127.0.0.1 -U postgres

alter user postgres with password 'new_passwd';
exit

然后修改配置文件:修改trust为md5
然后重启postgresql

参考:https://www.cnblogs.com/wuling129/p/4917574.html

创建用户、创建数据库

# 注意,如果是宝塔面板,即使在面板中创建了数据库,实际上并没有创建,可以用命令行测试宝塔创建的账户,貌似是bug
登录管理员账户postgres,命令行执行以下语句

# 创建用户
CREATE USER "用户名" WITH SUPERUSER PASSWORD '密码';
# 创建数据库
create database "数据库名称" WITH OWNER "用户名" TEMPLATE template0 ENCODING='UTF8' CONNECTION LIMIT=-1;

# 授权
GRANT ALL PRIVILEGES ON DATABASE "数据库名称" to "用户名";

扩展

PostGIS

PostGIS 为PostgreSQL提供了存储空间地理数据的支持,使PostgreSQL成为了一个空间数据库,能够进行空间数据管理、数量测量与几何拓扑分析。O2O行业的LBS一般都是使用此扩展。

安装:
出了名的难安装!!!
Mac:brew install gdal
Win:下载osgeo4w并安装:https://trac.osgeo.org/osgeo4w/
Linux:yum install gdal
Conda:caonda install gdal
以上步骤安装只是在系统环境下安装,如果使用了Python的虚拟环境,需要查找xxx/bin目录下的包含gdal内容或gdal开头的文件复制到虚拟环境的bin目录下,gdal才配置成功。


phppgadmin

类似于phpmyadmin,在Ubuntu中安装:apt-get install postgresql


PostgREST API

PostgREST 是一个独立的 Web 服务器,可为您的 PostgreSQL 数据库直接生成 RESTful API。 数据库中的结构约束和权限决定了 API 的端点(endpoints)和操作。

文档:https://postgrest-docs-chinese.readthedocs.io/zh/latest/intro.html

(●゚ω゚●)

captcha