PostgreSQL簡(jiǎn)介
-
安裝
// 搜索顯示可以使用 brew search postgresql postgresql postgresql@9.4 postgresql@9.5 postgresql@9.6 // 安裝方式 brew install postgresql brew install postgresql@10.1 // 安裝成功之后提示 // 升級(jí)之前版本的數(shù)據(jù) brew postgresql-upgrade-database // 開(kāi)啟和關(guān)閉postgresql服務(wù) brew services start postgresql brew services stop postgresql // 或者這種不需要背景服務(wù)器(background service,直譯背景服務(wù)器)的方式 pg_ctl -D /usr/local/var/postgres start pg_ctl -D /usr/local/var/postgres stop // 其他可供使用的命令 // 可以獲得postgres的詳細(xì)用法 <postgres is the PostgreSQL server> postgres —-help // 開(kāi)啟了服務(wù)且監(jiān)聽(tīng)輸出一些日志 postgres -D /usr/local/var/postgres // 可以獲得pg_ctl的詳細(xì)用法 <pg_ctl is a utility to initialize, start, stop, or control a PostgreSQL server> pg_ctl --help // 可以獲得psql的詳細(xì)用法 <psql is the PostgreSQL interactive terminal.> psql --help // 打開(kāi)一個(gè)名字是**的數(shù)據(jù)庫(kù),不帶參數(shù)溢豆,則打開(kāi)默認(rèn)數(shù)據(jù)庫(kù) psql ’database name’
-
可以直接終端使用命令
createdb createuser dropdb dropuser pg_ctl postgres psql initdb pg_archivecleanup pg_basebackup pg_config pg_controldata pg_dump pg_dumpall pg_isready pg_receivewal pg_recvlogical pg_resetwal pg_restore pg_rewind pg_standby pg_test_fsync pg_test_timing pg_upgrade pg_waldump pgbench postmaster reindexdb vacuumdb vacuumlo clusterdb ecpg oid2name // 這些命令的具體用法绰疤,可以直接 命令名字 --help . 例子:psql --help 去獲取更詳細(xì)的命令用法
-
更具體的使用例子
// 初始化一個(gè)新的數(shù)據(jù)庫(kù) pg_ctl init -D /Users/zsk/Desktop/mydb The files belonging to this database system will be owned by user "zsk". This user must also own the server process. The database cluster will be initialized with locale "zh_CN.UTF-8". The default database encoding has accordingly been set to "UTF8". initdb: could not find suitable text search configuration for locale "zh_CN.UTF-8" The default text search configuration will be set to "simple". Data page checksums are disabled. fixing permissions on existing directory Desktop/mydb ... ok creating subdirectories ... ok selecting default max_connections ... 100 selecting default shared_buffers ... 128MB selecting dynamic shared memory implementation ... posix creating configuration files ... ok running bootstrap script ... ok performing post-bootstrap initialization ... ok syncing data to disk ... ok WARNING: enabling "trust" authentication for local connections You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb. Success. You can now start the database server using: /usr/local/Cellar/postgresql/10.1/bin/pg_ctl -D Desktop/mydb -l logfile start // 自己數(shù)據(jù)庫(kù)的開(kāi)啟使用 pg_ctl -D /Users/zsk/Desktop/mydb start 另開(kāi)一個(gè)終端窗口 createdb mydb 創(chuàng)建一個(gè)名字是mydb的數(shù)據(jù)庫(kù) dropdb mydb 刪除一個(gè)名字是mydb的數(shù)據(jù)庫(kù) psql -l 查詢(xún)當(dāng)前開(kāi)區(qū)數(shù)據(jù)庫(kù)服務(wù)器下的數(shù)據(jù)庫(kù)列表 psql postgres 進(jìn)入其中一個(gè)名字為postgres的數(shù)據(jù)庫(kù) // 代碼 psql postgres postgres=#help 看到一些幫助信息 postgres=#create table numbers (age int);記得末尾的分號(hào)伤靠。 postgres=#\dt 查看表格列表 postgres=#table numbers; 查看表內(nèi)容 postgres=#drop table numbers; 刪除表numbers postgres=# \dT[s+] 數(shù)據(jù)類(lèi)型列表 postgres=# 直接使用sql語(yǔ)句 postgres=#\q 退出
-
javascript的調(diào)用
var pg = require('pg'); var connectString = 'postgres://localhost:5432/mydb'; var client = new pg.Client(connectString); client.connect(); client.query('SELECT * from myclass', (err, res) => { console.log(err, res.rows) client.end() }) client.query("insert into myclass values ('mycall-6班',105,'my teach6',60)", (err, res) => { console.log(err, res); client.end(); })
參考資料
官方網(wǎng)站
官方文檔10.0版本
社區(qū)翻譯文檔
中文翻譯文檔
基本使用
sql語(yǔ)法簡(jiǎn)單介紹
Mac安裝引導(dǎo)頁(yè)面
postgresql的安裝包列表
pg使用文檔