本章內容:html
一、基本命令python
一、psql -U cdnetworks_beian -d cdnetworks_beian #-U指定用戶,-d指定數據庫sql
二、\l #至關於show databases;shell
三、\d #想當與show tables;數據庫
\d後面跟一個表名,表示顯示這個表的結構定義 服務器
\db #顯示建立的tablespace less
四、DROP TABLE table_name #刪除表dom
五、CREATE DATABASE dbname #建立數據庫socket
六、DROP DATABASE #刪除數據庫ide
七、CREATE TABLE DEPARTMENT(
ID INT PRIMARY KEY NOT NULL,
DEPT CHAR(50) NOT NULL,
);
#建立表
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文件,配置用戶的訪問權限(#開頭的行是註釋內容):
其中,第7條是新添加的內容,表示容許網段192.168.1.0上的全部主機使用全部合法的數據庫用戶名訪問數據庫,並提供加密的密碼驗證。
其中,數字24是子網掩碼,表示容許192.168.1.0--192.168.1.255的計算機訪問!
2.修改postgresql.conf文件,將數據庫服務器的監聽模式修改成監聽全部主機發出的鏈接請求。
定位到#listen_addresses=’localhost’。PostgreSQL安裝完成後,默認是隻接受來在本機localhost的鏈接請 求。
將行開頭都#去掉,將行內容修改成listen_addresses=’*'來容許數據庫服務器監聽來自任何主機的鏈接請求
而後重啓服務,這是後遠程就能夠登陸操做了。
報錯:
緣由:
把這個tablespace指向的文件,放到這個tmp目錄下了,一重啓什麼都沒有了,須要從新創建
# drop tablespace if exists cdnetworks_beian;
#create tablespace cdnetworks_beian location '/Users/shell/postgresql/data';