PostgreSql基础命令及问题总结

 

本章内容:

  1、基本命令

 

基本命令 

  1、psql -U cdnetworks_beian -d cdnetworks_beian         #-U指定用户,-d指定数据库

  2、\l                   #相当于show databases;

  3、\d                  #想当与show tables;

       \d后面跟一个表名,表示显示这个表的结构定义 

    \db       #显示创建的tablespace 

  4、DROP TABLE table_name              #删除表

  5、CREATE DATABASE dbname          #创建数据库

  6、DROP DATABASE                          #删除数据库

  7、CREATE TABLE DEPARTMENT(

                           ID INT PRIMARY KEY NOT NULL,

                       DEPT CHAR(50) NOT NULL,

            );

                                                              #创建表

 

  

 

Mac 安装postgreSql的启动方法

To migrate existing data from a previous major version of PostgreSQL, see:

  https://www.postgresql.org/docs/10/static/upgrading.html

  You will need your previous PostgreSQL installation from brew to perform

  `pg_upgrade` or `pg_dumpall` depending on your upgrade method.

  Do not run `brew cleanup postgresql` until you have performed the migration.

To have launchd start postgresql now and restart at login:

  brew services start postgresql

Or, if you don't want/need a background service you can just run:

  pg_ctl -D /usr/local/var/postgres start

==> Summary

?  /usr/local/Cellar/postgresql/10.0: 3,367 files, 38.7MB

 
brew services start postgresql      #启动postgre

brew services stop postgresql

brew services restart postgresql

 

也可以用pg_ctl去启动

pg_ctl -D /usr/local/var/postgres/ -l /usr/local/var/postgres/server.log start

#启动postgre sql

pg_ctl -D /usr/local/var/postgres/ -l /usr/local/var/postgres/server.log restart

 

查看tablespace的方法

SELECT * FROM pg_tablespace;

---

\db

createuser cdnetworks_beian -s -P         #创建炒鸡用户。然后就可以创建表空间了

 

事务报错

 

cdnetworks_beian=# CREATE TABLESPACE cdnetworks_beian LOCATION '/tmp/data/cdnetworks_beian';

CREATE TABLESPACE

cdnetworks_beian=# \db

                       List of tablespaces

       Name       |      Owner       |          Location          

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

 cdnetworks_beian | cdnetworks_beian | /tmp/data/cdnetworks_beian

 dbtbs01          | wangjin          | /usr/local/var/postgres

 pg_default       | wangjin          | 

 pg_global        | wangjin          | 

(4 rows)

 
 #本地可以正常链接,并执行命令,但是通过psycopg2会有问题,如下所示:

 

In [17]: cur.execute("CREATE TABLE oui_service (service_id INT PRIMARY

KEY,service_name VARCHAR(20)) TABLESPACE cdnetworks_beian;")

---------------------------------------------------------------------------

InternalError                             Traceback (most recent call last)

<ipython-input-17-6d2937a75a92> in <module>()

----> 1 cur.execute("CREATE TABLE oui_service (service_id INT PRIMARY

KEY,service_name VARCHAR(20)) TABLESPACE cdnetworks_beian;")

 

InternalError: current transaction is aborted, commands ignored until end of

transaction block

 

#事务被终端了,这时候需要 conn.commit() 下,让其回滚,然后再去执行其他的操作

 

 

 

远程登录没有权限

远程登录操作,如上报错,实际上本地是可以登录,也可以创建任何东西的。

需要修改下配置

   1.修改pg_hba.conf文件,配置用户的访问权限(#开头的行是注释内容):

  1. # TYPE DATABASE  USER    CIDR-ADDRESS     METHOD
  2. # "local" is for Unix domain socket connections only
  3. local all    all               trust
  4. # IPv4 local connections:
  5. host  all    all    127.0.0.1/32     trust
  6. host  all    all    192.168.1.0/24    md5
  7. # IPv6 local connections:
  8. host  all    all    ::1/128       trust

   其中,第7条是新添加的内容,表示允许网段192.168.1.0上的所有主机使用所有合法的数据库用户名访问数据库,并提供加密的密码验证。

   其中,数字24是子网掩码,表示允许192.168.1.0--192.168.1.255的计算机访问!

 

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

   定位到#listen_addresses=’localhost’。PostgreSQL安装完成后,默认是只接受来在本机localhost的连接请 求。

   将行开头都#去掉,将行内容修改为listen_addresses=’*'来允许数据库服务器监听来自任何主机的连接请求

 

   然后重启服务,这是后远程就可以登录操作了。

 

tablesspace 目录下的文件被删除了

  报错:

  原因:

  把这个tablespace指向的文件,放到这个tmp目录下了,一重启什么都没有了,需要重新建立

  # drop tablespace if exists cdnetworks_beian;

  #create tablespace cdnetworks_beian  location '/Users/shell/postgresql/data';

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/nopnog/p/7756172.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值