Changes between Version 18 and Version 19 of jazz/PostgreSQL


Ignore:
Timestamp:
Apr 10, 2018, 5:18:26 PM (6 years ago)
Author:
jazz
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • jazz/PostgreSQL

    v18 v19  
    4646}}}
    4747
    48 == 系統 ==
     48== 資料庫 ==
     49
     50=== 資料庫列表 ===
     51
     52{{{
     53~$ sudo su - postgres
     54~$ psql
     55postgres=# \l
     56                                  List of databases
     57   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
     58-----------+----------+----------+-------------+-------------+-----------------------
     59 postgres  | postgres | UTF8     | zh_TW.UTF-8 | zh_TW.UTF-8 |
     60 template0 | postgres | UTF8     | zh_TW.UTF-8 | zh_TW.UTF-8 | =c/postgres          +
     61           |          |          |             |             | postgres=CTc/postgres
     62 template1 | postgres | UTF8     | zh_TW.UTF-8 | zh_TW.UTF-8 | =c/postgres          +
     63           |          |          |             |             | postgres=CTc/postgres
     64(3 rows)
     65
     66}}}
     67
     68=== 新增資料庫 ===
     69
     70{{{
     71~$ sudo su - postgres
     72-bash-4.2$ createdb 資料庫名稱
     73}}}
     74
     75=== 允許使用者可以管理指定資料庫 ===
     76
     77{{{
     78~$ sudo su - postgres
     79-bash-4.2$ psql -d postgres ### 使用 postgres 資料庫
     80postgres=# ALTER USER 使用者名稱 WITH ENCRYPTED PASSWORD '密碼';
     81postgres=# GRANT ALL PRIVILEGES ON DATABASE 資料庫名稱 TO 使用者名稱;
     82}}}
     83
     84=== 資料庫備份 ===
     85
     86* 一般慣用 `pg_dump` 來進行備份
     87* 差別在於備份的格式,例如 `-Fd` 等同於 `--format=d` 是將備份資料存放於子目錄下,`-f 路徑` 指定存放路徑
     88{{{
     89pg_dump -Fd -f 存放路徑 資料庫名稱
     90}}}
     91* 而 `-Fc` 等同於 `--format=c` 則是採用 PostgreSQL 自訂的格式
     92{{{
     93pg_dump --verbose --format=c --dbname=資料庫名稱 -f 存放路徑
     94}}}
     95* 支援格式請參閱 man page 內容,'''需要注意的是 `pg_restore` 只支援 `c`, `d`, `t` 三種'''
     96{{{
     97       -F format
     98       --format=format
     99           Selects the format of the output.  format can be one of the following:
     100
     101           p
     102           plain
     103               Output a plain-text SQL script file (the default).
     104
     105           c
     106           custom
     107               Output a custom-format archive suitable for input into pg_restore.
     108               Together with the directory output format, this is the most flexible
     109               output format in that it allows manual selection and reordering of
     110               archived items during restore. This format is also compressed by
     111               default.
     112
     113           d
     114           directory
     115               Output a directory-format archive suitable for input into
     116               pg_restore. This will create a directory with one file for each
     117               table and blob being dumped, plus a so-called Table of Contents file
     118               describing the dumped objects in a machine-readable format that
     119               pg_restore can read. A directory format archive can be manipulated
     120               with standard Unix tools; for example, files in an uncompressed
     121               archive can be compressed with the gzip tool. This format is
     122               compressed by default and also supports parallel dumps.
     123
     124           t
     125           tar
     126               Output a tar-format archive suitable for input into pg_restore. The
     127               tar format is compatible with the directory format: extracting a
     128               tar-format archive produces a valid directory-format archive.
     129               However, the tar format does not support compression. Also, when
     130               using tar format the relative order of table data items cannot be
     131               changed during restore.
     132}}}
     133
     134=== 資料庫還原 ===
     135
     136* 一般慣用 `pg_restore` 來進行備份,須注意格式只支援 `c`, `d`, `t` 三種。
     137{{{
     138pg_restore --verbose --clean --if-exist --format=格式 --dbname=資料庫名稱 備份檔案名稱
     139}}}
     140* 使用 `c` 格式,偶爾會遇到版本號碼不相容的問題
     141{{{
     142-bash-4.2$ pg_restore --verbose --clean --if-exist --format=c --dbname=資料庫名稱 /tmp/20180410.backup
     143pg_restore: [archiver] unsupported version (1.13) in file header
     144}}}
     145
     146
     147== 系統效能 ==
    49148
    50149=== 查詢目前連線數 ===
     
    208307GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet elevator=deadline"
    209308}}}
    210 
    211 
    212 == 資料庫 ==
    213 
    214 === 資料庫列表 ===
    215 
    216 {{{
    217 ~$ sudo su - postgres
    218 ~$ psql
    219 postgres=# \l
    220                                   List of databases
    221    Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
    222 -----------+----------+----------+-------------+-------------+-----------------------
    223  postgres  | postgres | UTF8     | zh_TW.UTF-8 | zh_TW.UTF-8 |
    224  template0 | postgres | UTF8     | zh_TW.UTF-8 | zh_TW.UTF-8 | =c/postgres          +
    225            |          |          |             |             | postgres=CTc/postgres
    226  template1 | postgres | UTF8     | zh_TW.UTF-8 | zh_TW.UTF-8 | =c/postgres          +
    227            |          |          |             |             | postgres=CTc/postgres
    228 (3 rows)
    229 
    230 }}}
    231 
    232 === 新增資料庫 ===
    233 
    234 {{{
    235 ~$ sudo su - postgres
    236 -bash-4.2$ createdb 資料庫名稱
    237 }}}
    238 
    239 === 允許使用者可以管理指定資料庫 ===
    240 
    241 {{{
    242 ~$ sudo su - postgres
    243 -bash-4.2$ psql -d postgres ### 使用 postgres 資料庫
    244 postgres=# ALTER USER 使用者名稱 WITH ENCRYPTED PASSWORD '密碼';
    245 postgres=# GRANT ALL PRIVILEGES ON DATABASE 資料庫名稱 TO 使用者名稱;
    246 }}}
    247 
    248 === 資料庫備份 ===
    249 
    250 * 一般慣用 `pg_dump` 來進行備份
    251 * 差別在於備份的格式,例如 `-Fd` 等同於 `--format=d` 是將備份資料存放於子目錄下,`-f 路徑` 指定存放路徑
    252 {{{
    253 pg_dump -Fd -f 存放路徑 資料庫名稱
    254 }}}
    255 * 而 `-Fc` 等同於 `--format=c` 則是採用 PostgreSQL 自訂的格式
    256 {{{
    257 pg_dump --verbose --format=c --dbname=資料庫名稱 -f 存放路徑
    258 }}}
    259 * 支援格式請參閱 man page 內容,'''需要注意的是 `pg_restore` 只支援 `c`, `d`, `t` 三種'''
    260 {{{
    261        -F format
    262        --format=format
    263            Selects the format of the output.  format can be one of the following:
    264 
    265            p
    266            plain
    267                Output a plain-text SQL script file (the default).
    268 
    269            c
    270            custom
    271                Output a custom-format archive suitable for input into pg_restore.
    272                Together with the directory output format, this is the most flexible
    273                output format in that it allows manual selection and reordering of
    274                archived items during restore. This format is also compressed by
    275                default.
    276 
    277            d
    278            directory
    279                Output a directory-format archive suitable for input into
    280                pg_restore. This will create a directory with one file for each
    281                table and blob being dumped, plus a so-called Table of Contents file
    282                describing the dumped objects in a machine-readable format that
    283                pg_restore can read. A directory format archive can be manipulated
    284                with standard Unix tools; for example, files in an uncompressed
    285                archive can be compressed with the gzip tool. This format is
    286                compressed by default and also supports parallel dumps.
    287 
    288            t
    289            tar
    290                Output a tar-format archive suitable for input into pg_restore. The
    291                tar format is compatible with the directory format: extracting a
    292                tar-format archive produces a valid directory-format archive.
    293                However, the tar format does not support compression. Also, when
    294                using tar format the relative order of table data items cannot be
    295                changed during restore.
    296 }}}