PostGreSQL教學(還沒寫完待驗證) == ==Mac== 確認安裝 Homebrew -- ``` /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ``` 更新 Homebrew -- `brew update` 使用 brew 安裝 -- `brew install postgresql` 初始化 PostgreSQL -- `brew services start postgresql` 確認是否安裝成功 -- `psql --version` 建立資料庫 -- `createdb 資料庫名稱` 使用資料庫 -- `psql mydb` 出現已經訊息表示已進入資料庫 ![image](https://hackmd.io/_uploads/SJKiVhVsA.png) 顯示操作指令 -- `mydb=> \h`(輸入`\h`即可) 離開資料庫 -- `mydb=> \q`(輸入`\q`即可) poetry安裝psycopg2 -- `poetry add psycopg2` 更改setting.py的DATABASE -- ```py DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'your_database_name', # 使用的資料庫名稱 'USER': 'your_username', # PostgreSQL 使用者名稱 'PASSWORD': 'your_password', # PostgreSQL 使用者密碼 'HOST': 'localhost', # 如果伺服器在本地運行則保持不變 'PORT': '5432', # PostgreSQL 的默認端口 } } ``` `python manage.py makemigrations` `python manage.py migrate` `python manage.py runserver` 進入互動模式 -- `psql -U 使用者名稱 -d 資料庫模式` 查看資料庫 -- `\dt` ![image](https://hackmd.io/_uploads/SyX3zpNjR.png) 在網頁輸入資料並且插入到你的表中 == 在models.py新增 ```python class Meta: db_table = '你在pg創建表的名字' managed = False ``` ` manged = False<--如果你不要django對這個表做任何管理再加上 ` --- 如果id為主鍵,切記要手動加上[自增]這個設定 []為自行更改成自己表的名字 先輸入: ` CREATE SEQUENCE [you_table_name]_id_seq; ` 在輸入: ` ALTER TABLE you_table_name ALTER COLUMN id SET DEFAULT nextval('[you_table_name]_id_seq'); ` 將序列跟id綁一起: ` ALTER SEQUENCE [you_table_name]_id_seq OWNED BY you_table_name.id; ` 如果id還不是主鍵的話輸入: ` ALTER TABLE [you_table_name] ADD PRIMARY KEY (id); ` 輸入指令: ` \d you_table_name ` ![自增](https://hackmd.io/_uploads/Hyvffhui0.jpg) 預設有顯示就表示成功了 如果輸入資料成功的話就會顯示在你的pg中 ![新增成功](https://hackmd.io/_uploads/rySeXhuiA.jpg) 還沒寫完待驗證 ==