postgresql基本命令操作

來源:互聯網
上載者:User

標籤:postgresql基本命令操作

postgresql基本命令操作:

登陸資料庫:

[[email protected] ~]$ psql -Utestwjw -h 127.0.0.1 -dpostgres -p 36985 

Password for user testwjw: 

psql.bin (9.5.9)

Type "help" for help.


postgres=> 

切換資料庫:

postgres=> \c testdb1

You are now connected to database "testdb1" as user "testwjw".

查看所有的資料庫:

testdb1=> \l

testdb1=> \list

                                  List of databases

   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   

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

 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 

 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +

           |          |          |             |             | postgres=CTc/postgres

 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +

           |          |          |             |             | postgres=CTc/postgres

 testdb1   | testwjw  | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =Tc/testwjw          +

           |          |          |             |             | testwjw=CTc/testwjw

 testdb2   | testwjw  | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 

(5 rows)


查看所有的表:

testdb1=> \dt

        List of relations

 Schema | Name  | Type  |  Owner  

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

 public | t     | table | testwjw

 public | t1    | table | testwjw

 public | tlb01 | table | testwjw

(3 rows)


testdb1=> 


建立資料庫:

[[email protected] ~]$ psql -p 36985 

psql.bin (9.5.9)

Type "help" for help.


postgres=# create database testdb3 with encoding=‘utf8‘ owner=testwjw;

CREATE DATABASE


[[email protected] ~]$ createdb testdb5  -p 36985

[[email protected] ~]$ createdb testdb6  -p 36985


查看建立的資料庫:

[[email protected] ~]$ psql -p 36985 -c ‘\list‘|egrep "testdb4|testdb5"

 testdb4   | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 

 testdb5   | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 


刪除建立的資料庫:

#以testwjw的身份串連伺服器,刪除testdb1資料庫。

[[email protected] ~]$ dropdb -Utestwjw -p 36985 -e testdb1

DROP DATABASE testdb1;

[[email protected] ~]$ psql -p 36985 -c ‘\list‘|grep "testdb1"

通過查看系統資料表驗證該資料庫是否已經被刪除:

[[email protected] ~]$ psql -p 36985 -c "SELECT count(*) FROM pg_database WHERE datname =‘testdb1‘"

 count 

-------

     0

(1 row)


證明此資料庫確實被刪除。




查看資料庫中所有的表以及單表結構:

testdb2=# \dt

        List of relations

 Schema | Name | Type  |  Owner  

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

 public | tlb2 | table | testwjw

(1 row)


testdb2=# \d tlb2

            Table "public.tlb2"

 Column |         Type          | Modifiers 

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

 id     | integer               | 

 pay    | character varying(20) | 

 name   | character varying(6)  | 

Indexes:

    "uniq" UNIQUE CONSTRAINT, btree (id)


testdb2=#

查看索引詳細資料:

testdb2=# \d uniq;

      Index "public.uniq"

 Column |  Type   | Definition 

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

 id     | integer | id

unique, btree, for table "public.tlb2"


\d+ 命令:將會顯示比\d命令更詳細的資訊,除了前面介紹的那些,它還會顯示任何與表列相關的注釋,以及表中出現的OID。

testdb2=# \d+

                    List of relations

 Schema | Name | Type  |  Owner  |  Size   | Description 

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

 public | tlb2 | table | testwjw | 0 bytes | 

(1 row)


testdb2=# \d

        List of relations

 Schema | Name | Type  |  Owner  

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

 public | tlb2 | table | testwjw

(1 row)


testdb2=# 


列出所有的schemas:


testdb2=# \dn

  List of schemas

  Name  |  Owner   

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

 public | postgres

(1 row)


建立schema:

testdb2=# create schema sa;

CREATE SCHEMA


testdb2=# \dn

  List of schemas

  Name  |  Owner   

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

 public | postgres

 sa     | postgres

(2 rows)


testdb2=# 


顯示sql執行的時間,可以使用\timing參數:

testdb2=# \timing 

Timing is on.

testdb2=# select * from tlb2;

 id | pay | name 

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

(0 rows)


Time: 0.177 ms

testdb2=# 


如果想列出資料庫中所有的角色或者使用者,可以使用\du   \dg,這兩個命令等價,因為postgresSQL中使用者和角色不區分。


testdb2=# \du

                                   List of roles

 Role name |                         Attributes                         | Member of 

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

 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

 testwjw   |                                                            | {}


testdb2=# \dg

                                   List of roles

 Role name |                         Attributes                         | Member of 

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

 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

 testwjw   |                                                            | {}


testdb2=# 



查看錶欄位:

testdb2=# SELECT a.attname from pg_class c,pg_attribute a,pg_type t where c.relname=‘tlb2‘ and a.attnum>0 and a.attrelid=c.oid and a.atttypid=t.oid;

 attname 

---------

 id

 pay

 name

(3 rows)

Time: 0.586 ms

testdb2=# \dnp+

                          List of schemas

  Name  |  Owner   |  Access privileges   |      Description       

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

 public | postgres | postgres=UC/postgres+| standard public schema

        |          | =UC/postgres         | 

 sa     | postgres |                      | 

(2 rows)


testdb2=# \dn

  List of schemas

  Name  |  Owner   

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

 public | postgres

 sa     | postgres

(2 rows)

testdb2=# 

本文出自 “10931853” 部落格,請務必保留此出處http://wujianwei.blog.51cto.com/10931853/1970402

postgresql基本命令操作

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.