`
498320858
  • 浏览: 387084 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

postgresql 启动以及连接相关问题解决方案

阅读更多

mac系统装上postgresql后,他的路径是/Library/Postgresql/9.2

 

说明:

1.postgresql的启动用户是postgresql,或者是其他用户,总之不能是root,但必须保证该用户拥有postgresql安装后路径的所有权限,最好设置该路径的owner为非root用户

2.启动命令为 ${postgres root path}/bin/pg_ctl -D ${postgres root path}/data start

3.连接postgres的命令为  ${postgres root path}/bin/psql -U ${postgres数据库中设置的登录用户,默认用户为postgres},如果没有加 -u 设置用户的话,会使用系统当前登录用户的用户名作为postgres的用户,这样可能出现psql: FATAL:  role "root" does not exist等问题

4.postgres的数据库库的用户认证配置文件为 ${postgres root path}/data/pg_hba.conf,可以通过设置ipv4用户的验证方式为trust以避免输入postgres的密码登录

# TYPE  DATABASE        USER            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
# IPv6 local connections:
host    all             all             ::1/128                 trust

 

4.mac环境由于postgresql的安装路径不在/usr/local/pgsql,对于非postgresql的拥有者直接执行psql时可能会报错

psql: could not connect to server: Permission denied
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?

 此情况出现的原因是在$PATH中的某个路径下存在psql,并且改psql执行时默认连接到"/var/pgsql_socket/.s.PGSQL.5432",

解决方案为:

1.执行postgresql提供的路径修复批处理文件

curl http://nextmarvel.net/blog/downloads/fixBrewLionPostgres.sh | sh

2.修复$PATH,将psql的安装目录放置在$PATH的最前边,确保直接执行psql时使用的psql工具是postgres的安装目录中的工具

3.另外一个方案是,先关掉默认路径启动的postgresql,然后cp postgresql的跟路径 至/usr/local/pgsql,并且将/usr/local/pgsql 的拥有者设置为postgresql的拥有者,然后以postgresql的拥有者身份启动pgsql 

/usr/local/pgsql/bin/pg_ctl  -D  /usr/local/pgsql/data start

 (此种方式可以解决python等语言在条用psql时的错误,主要原因是python的类库中需要用到/usr/local/pgsql/bin/pg_config文件)

 

5.psql登录成功后就可以执行相关的sql操作了,表数据的增删改成与其他数据库如mysql基本一致,注意每句sql后加";",以便控制台识别出sql输入完成,否则回车后将什么都不显示

   操作数据库以及表接口相关

连接数据库, 默认的用户和数据库是postgres
psql -U user -d dbname

切换数据库,相当于mysql的use dbname
\c dbname


列举数据库,相当于mysql的show databases
\l


列举表,相当于show tables
\dt


查看表结构,相当于desc tblname,show columns from tbname
\d tblname

 其他数据库的操作见postgresql官方教程http://www.postgresql.org/docs/

 

 

 

分享到:
评论

相关推荐

    navicat 连接 postgresql 连不上的问题

    在linux上装 postgresql 在 windows或 linux 连不上的问题的解决方法!

    开源免费数据库管理工具 DBeaver Community Edition 21.0.5 中文.zip

    DBeaver 是一款简单,可靠的软件,面向需要管理多个SQL数据库,执行SQL脚本,迁移...总结起来,在管理从简单到复杂的多个数据库连接,触发器,过程和视图以及执行SQL脚本时,DBeaver 被证明是一种稳定有效的解决方案。

    mogi-server:MogiSmartPolicing 解决方案的服务器 API

    Project Mogi/SmartPolicing 解决方案的服务器 API 建造 首先确保您已正确安装 NodeJS 和 NPM(查看以获取帮助)。 npm install -g forever nodemon express npm install 数据库 服务器需要 PostgreSQL 数据库。 ...

    SocanCode代码生成器

    10、用CSharp金泽宽改进增强版生成后的解决方案你只需打开来把WinUI或WebUI、JsonWebUI设为启动项即可正常工作,数据库连接语句全生成的(Asa、Pdm生成的要手动改下数据库连接语句) 11、实体类可生成:C#2.0、C#3.0...

    Mysql安装 Navicat 出现1044/1045错误的解决方法

    in Navicat for MySQL,PostgreSQL and Oracle 产生错误的原因是mysql帐户连接到远程mysql服务器没有足够的权限。 mysql安装后默认仅允许”localhost”连接。因此多数服务器端的脚本程序很容易连接到本地服务器的本地...

    simple_periodic_checker

    去做y旦测验终点装饰工解决方案有两个软件包可以分别启动。 PeriodicChecker用于创建任务并将响应发送给第二个任务。 CheckerProcessing正在从代理获取消息并将其存储在数据库中。 在启动之前,应该为每个系统的.env...

    odoo-saas-docker

    Odoo for SaaS解决方案 该存储库包含Odoo(以前的OpenERP)映像,以提供SaaS解决方案。 什么是Odoo Odoo(以前称为OpenERP)是一套用Python编写并根据AGPL许可发行的开源业务应用程序。 这套应用程序套件涵盖了从...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    认真听课、多思考问题、多动手操作、有问题一定要问、多参与讨论、多帮组同学 五、 体系结构 oracle的体系很庞大,要学习它,首先要了解oracle的框架。oracle的框架主要由物理结构、逻辑结构、内存分配、后台进程...

    微服务架构和基于容器参考应用程序eShopOnContainers.zip

    在该解决方案当前的开发环境配置中,SQL数据库将自动部署样本数据到单个SQL Server for Linux容器(SQL数据库的单一共享Docker容器),因此整个解决方案可以启动并运行,而无需任何依赖任何云或特定的服务器。...

    php网络开发完全手册

    15.5 常见问题与解决方案 259 15.6 小结 261 第16章 数据库中的程序逻辑 262 16.1 数据库程序逻辑与PHP程序逻辑的分体 16.1 设计原则 262 16.2 数据库中的程序逻辑与数据的关系 262 16.3 存储过程的设计 263 16.3.1 ...

Global site tag (gtag.js) - Google Analytics