sql >> データベース >  >> RDS >> PostgreSQL

同期が外れたときにpostgresの主キーシーケンスをリセットするにはどうすればよいですか?

    -- Login to psql and run the following
    
    -- What is the result?
    SELECT MAX(id) FROM your_table;
    
    -- Then run...
    -- This should be higher than the last result.
    SELECT nextval('your_table_id_seq');
    
    -- If it's not higher... run this set the sequence last to your highest id. 
    -- (wise to run a quick pg_dump first...)
    
    BEGIN;
    -- protect against concurrent inserts while you update the counter
    LOCK TABLE your_table IN EXCLUSIVE MODE;
    -- Update the sequence
    SELECT setval('your_table_id_seq', COALESCE((SELECT MAX(id)+1 FROM your_table), 1), false);
    COMMIT;
    

    出典-Rubyフォーラム



    1. 値がMySQLの数値であるかどうかを検出します

    2. TSQLでPRINTバッファをフラッシュするにはどうすればよいですか?

    3. cordovaを使用してプロジェクトファイルにローカルに保存されているSqliteデータベースファイル[アセットフォルダ]にアクセスして更新する方法

    4. SQLServer2019エディションについての考え