パソいろ パソコンやIT関連、周辺機器や開発のことなど

パソコンや開発、Linuxやデータベースのことなど

PostgreSQLでserialをintegerに変更
integer型をserialのような自動増加型にする例はネットには多いが、逆にserialをintegerに変える方法はあまり載ってないのでメモ。
(serialは特殊な型なので、型の変更でserialそのものに変換するのは無理らしい?)


デフォルト値を削除するとserial型がintegerになった。
ALTER TABLE table_name ALTER COLUMN column_name DROP DEFAULT

あ、serialを削除してもsequenceは残っています。
PostgreSQLでDBサーバーを再起動させずに設定を更新する
pg_hba.confなどを書き換えて設定値を読み込ませる場合

pg_ctl reload

「pg_ctl: データベースの指定も、PGDATA環境変数の設定もありません」と怒られる場合

pg_ctl -D /var/lib/pgsql/data reload
(標準のインストール位置の場合)
PostgreSQLでpsqlコマンドでデータベースのリカバリ(復元)
psql データベース名 < ファイル名

ユーザー名指定あり
psql -U ユーザ名 データベース名 < ファイル名